将空数组作为可选参数的默认值传递
:
设置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