Määritä valinnaiset argumentit rakenteen argumenteille

Sivun luontipäivämäärä :

Valinnaisten argumenttien avulla argumentille voidaan antaa argumentille alkuarvo ylikuormittamatta menetelmää, jolla on eri määrä argumentteja.

Valinnaisiksi argumenteiksi voidaan kuitenkin määrittää vain vakiot, kuten "10", "Sample" ja "null", etkä voi määrittää arvoa, joka on luotu uudessa tai määritetty staattisella lukuonly -arvolla, joka määritetään ohjelman suorittamisen yhteydessä.

Sama pätee, jos rakenne on argumentti. Jos tyyppi on esimerkiksi IntPtr, et voi määrittää intPtr.Zero-arvoa alkuarvoksi. Se ei voi määrittää arvoa 0, eikä se voi olla null-arvoinen, koska se on rakenne. (Nullable sallii null-arvon määrittämisen, mutta jättää pois, koska argumentin tyyppi muuttuu.)

Voit käyttää rakennetta valinnaisena argumenttina käyttämällä oletus(T)-argumenttia.) Tämä vastaa uudella T() -arvolla luotua arvoa.

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

Voit määrittää vain 0 tai null kullekin rakenteen arvolle, joten ylikuormita menetelmä, jos haluat antaa alkuarvon erikseen.