Gab*_*tos 9 c# arrays parameters default-value optional-parameters
在c#中,可以在方法中使用默认参数值,例如:
public void SomeMethod(String someString = "string value")
{
Debug.WriteLine(someString);
}
Run Code Online (Sandbox Code Playgroud)
但现在我想使用数组作为方法中的参数,并为其设置默认值.
我以为它应该看起来像这样:
public void SomeMethod(String[] arrayString = {"value 1", "value 2", "value 3"})
{
foreach(someString in arrayString)
{
Debug.WriteLine(someString);
}
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
有没有正确的方法来做到这一点,如果这甚至可能的话?
Ree*_*sey 16
有没有正确的方法来做到这一点,如果这甚至可能的话?
这是不可能的(直接),因为默认值必须是以下之一(来自Optional Arguments):
创建数组不适合可选参数的任何可能的默认值.
这里最好的选择是过载:
public void SomeMethod()
{
SomeMethod(new[] {"value 1", "value 2", "value 3"});
}
public void SomeMethod(String[] arrayString)
{
foreach(someString in arrayString)
{
Debug.WriteLine(someString);
}
}
Run Code Online (Sandbox Code Playgroud)
Nat*_*han 12
试试这个:
public void SomeMethod(String[] arrayString = null)
{
arrayString = arrayString ?? {"value 1", "value 2", "value 3"};
foreach(someString in arrayString)
{
Debug.WriteLine(someString);
}
}
someMethod();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10053 次 |
最近记录: |