Určení volitelných argumentů pro argumenty struktury

Datum vytvoření stránky :

Volitelné argumenty umožňují poskytnout počáteční hodnotu argumentu bez přetížení metody s jiným počtem argumentů.

Jako volitelné argumenty však lze zadat pouze konstanty jako "10", "Sample" a "null" a nelze zadat hodnotu, která byla vytvořena v novém nebo definovaném statickou hodnotou jen pro čtení, která je určena při spuštění programu.

Totéž platí, pokud je struktura argumentem. Pokud je například typ IntPtr, nelze jako počáteční hodnotu zadat IntPtr.Zero. Nemůže zadat 0 a nemůže být null, protože se jedná o strukturu. (Nullable umožňuje zadat hodnotu null, ale vyloučí, protože se změní typ argumentu.)

Můžete použít "default(T) použít strukturu jako volitelný argument.) To je ekvivalentní hodnotě vytvořené pomocí nového T().

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

Můžete zadat pouze 0 nebo null pro každou hodnotu ve struktuře, takže přetížení metody, pokud chcete poskytnout počáteční hodnotu samostatně.