将空数组作为可选参数的默认值传递

设置C#可选参数的默认值 (3个答案)

7年前关闭。

如何定义一个函数,该函数将带有空数组的可选数组作为默认值?

public void DoSomething(int index, ushort[] array = new ushort[] {},

bool thirdParam = true)

结果是:

“数组”的默认参数值必须是编译时常量。

回答:

您不能创建对象引用的编译时常量。

您可以使用的唯一有效的编译时常量是null,因此将代码更改为此:

public void DoSomething(int index, ushort[] array = null,

bool thirdParam = true)

然后在您的方法中执行以下操作:

array = array ?? new ushort[0];

(来自注释) 从C#8开始,您还可以使用较短的语法:

array ??= new ushort[0];

以上是 将空数组作为可选参数的默认值传递 的全部内容, 来源链接: utcz.com/qa/409810.html

回到顶部