在 C# 中,可以在方法中使用默认参数值,例如:
public void SomeMethod(String someString = "string value")
{
Debug.WriteLine(someString);
}
但现在我想使用一个数组作为方法中的参数,并为其设置一个默认值。
我想它应该看起来像这样:
public void SomeMethod(String[] arrayString = {"value 1", "value 2", "value 3"})
{
foreach(someString in arrayString)
{
Debug.WriteLine(someString);
}
}
但这是行不通的。
如果这可能的话,是否有正确的方法可以做到这一点?
如果这可能的话,是否有正确的方法可以做到这一点?
这是不可能的(直接),因为默认值必须是以下之一(来自可选参数 http://msdn.microsoft.com/en-us/library/dd264739.aspx):
- 常量表达式;
- new ValType() 形式的表达式,其中 ValType 是值类型,例如枚举或结构;
- default(ValType) 形式的表达式,其中 ValType 是值类型。
创建数组不适合可选参数的任何可能的默认值。
这里最好的选择是进行重载:
public void SomeMethod()
{
SomeMethod(new[] {"value 1", "value 2", "value 3"});
}
public void SomeMethod(String[] arrayString)
{
foreach(someString in arrayString)
{
Debug.WriteLine(someString);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)