Nurodyti pasirinktinius struktūros argumentų argumentus

Puslapio sukūrimo data :

Pasirinktiniai argumentai leidžia pateikti pradinę reikšmę argumentui neperkraunt metodo su skirtingu argumentų skaičiumi.

Tačiau tik konstantos, pvz., "10", "Pavyzdys" ir "null" gali būti nurodyta kaip pasirinktiniai argumentai, ir jūs negalite nurodyti reikšmę, kuri buvo sukurta naują arba apibrėžta statinis tik skaityti, kuris nustatomas, kai programa veikia.

Tas pats pasakytina ir apie tai, jei struktūra yra argumentas. Pavyzdžiui, jei tipas yra IntPtr, intPtr.Zero negalima nurodyti kaip pradinės reikšmės. Ji negali nurodyti 0 ir negali būti neapibrėžta, nes ji yra struktūra. (Neapibrėžta leidžia nurodyti neapibrėžtą, bet neįtraukia, nes pasikeičia argumento tipas.)

Galite naudoti "default(T) norėdami naudoti struktūrą kaip pasirinktinį argumentą.) Tai atitinka vertę, sukurtą naudojant naują T().

public void DoAction(IntPtr handle = default(IntPtr))
{
  // 処理
}

Kiekvienai struktūros reikšmei galite nurodyti tik 0 arba neapibrėžtas, todėl perkrauti metodą, jei pradinę vertę norite pateikti atskirai.