为结构参数指定可选参数

页面创建日期 :

通过使用"可选参数",可以为参数提供初始值,而无需重载具有不同参数数的方法。

但是,可选参数只能包含常量,如"10"、"采样"和 null,不能指定在程序运行时确定的 new 或静态只读定义的值。

如果结构具有参数,则相同。 例如,如果类型为 IntPtr,则无法将 IntPtr.Zero 指定为默认值。 不能指定 0,也不能指定 null,因为它是结构。 (可以使用 Null 指定 null,但会排除它,因为参数的类型会发生变化。

如果使用结构作为可选参数,则可以使用 default(T)。 这等效于在 new T() 中创建的值。

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

由于结构的每个值只能为 0 或 null,因此,如果要单独提供初始值,请重载方法。