Ange valfria argument för strukturargument
Med valfria argument kan du ange ett första värde till ett argument utan att överbelasta en metod med ett annat antal argument.
Endast konstanter som "10", "Prov" och "null" kan dock anges som valfria argument, och du kan inte ange ett värde som har skapats i nya eller definierade av statiskläset som bestäms när programmet körs.
Detsamma gäller om strukturen är ett argument. Om till exempel typen är IntPtr kan du inte ange IntPtr.Zero som det ursprungliga värdet. Det går inte att ange 0 och det kan inte vara null eftersom det är en struktur. (Nullable kan du ange null, men utesluter eftersom typen av argumentet ändras.)
Du kan använda "default(T) för att använda strukturen som ett valfritt argument.) Detta motsvarar det värde som skapas med nya T().
public void DoAction(IntPtr handle = default(IntPtr))
{
// 処理
}
Du kan bara ange 0 eller null för varje värde i strukturen, så överbelasta metoden om du vill ge ett initialt värde separat.