Specificarea argumentelor opționale pentru argumentele de structură

Data creării paginii :

Argumentele opționale vă permit să acordați o valoare inițială unui argument fără a supraîncărca o metodă cu un număr diferit de argumente.

Cu toate acestea, numai constante, ar fi 10, Eșantion și null pot fi specificate ca argumente opționale, și nu se poate specifica o valoare care a fost creat în noi sau definite de recitire statice care se determină atunci când programul se execută.

Același lucru este valabil în cazul în care structura este un argument. De exemplu, dacă tipul este IntPtr, nu se poate specifica IntPtr.Zero ca valoarea inițială. Nu poate specifica 0 și nu poate fi nul, deoarece este o structură. (Nullable vă permite să specificați nul, dar exclude, deoarece tipul de argument modificări.)

Aveți posibilitatea să utilizați "default(T) pentru a utiliza structura ca argument opțional.) Acest lucru este echivalent cu valoarea creată cu T().

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

Aveți posibilitatea să specificați 0 sau nul numai pentru fiecare valoare din structură, astfel încât să supraîncărcați metoda dacă doriți să dați o valoare inițială separat.