Määrata struktuuriargumentide jaoks valikulised argumendid

Lehe loomise kuupäev :

Valikulised argumendid võimaldavad teil anda argumendile algse väärtuse ilma erineva arvu argumentidega meetodi ülekoormamata.

Kuid ainult konstante nagu "10", "näidis" ja "null" saab määrata valikuliste argumentidena ja te ei saa määrata väärtust, mis loodi uutel või määratletud staatiliste kirjutuskaitstud, mis määratakse programmi käitamisel.

Sama kehtib ka siis, kui struktuur on argument. Näiteks kui tüüp on IntPtr, ei saa määrata IntPtr. Zero Algne väärtus. See ei saa määrata 0 ja see ei saa olla null, kuna see on struktuur. (Nullable võimaldab teil määrata null, kuid välistab, kuna argument tüüp muutub.)

Struktuuri kasutamiseks valikulise argumendiga saate kasutada "default (T)".) See võrdub väärtusega, mis on loodud uue T ().

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

Iga struktuuri väärtuse puhul saate määrata ainult 0 või null, nii et meetodi ülekoormus, kui soovite anda esialgse väärtuse eraldi.