為結構參數指定可選參數

頁面創建日期 :

通過使用"可選參數",可以為參數提供初始值,而無需重載具有不同參數數的方法。

但是,可選參數只能包含常量,如"10"、"採樣"和 null,不能指定在程式運行時確定的 new 或靜態唯讀定義的值。

如果結構具有參數,則相同。 例如,如果類型為 IntPtr,則無法將 IntPtr.Zero 指定為預設值。 不能指定 0,也不能指定 null,因為它是結構。 (可以使用 Null 指定 null,但會排除它,因為參數的類型會發生變化。

如果使用結構作為可選參數,則可以使用 default(T)。 這等效于在 new T() 中創建的值。

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

由於結構的每個值只能為 0 或 null,因此,如果要單獨提供初始值,請重載方法。