Jon*_*eet 15
您只能在C#4中执行此操作,它引入了命名参数和可选参数:
public void Foo(int x = 10)
{
Console.WriteLine(x);
}
...
Foo(); // Prints 10
Run Code Online (Sandbox Code Playgroud)
请注意,默认值必须是常量 - 正常的编译时常量(例如文字)或:
default(T) 对于某种类型 T另请注意,默认值嵌入在调用者的程序集中(假设您省略了相关参数) - 因此,如果更改默认值而不重建调用代码,您仍将看到旧值.
这个(以及C#4中的其他新功能)将在深度的C#第二版中介绍.(本案第13章.)
Dar*_*rov 12
C#4.0允许您使用命名和可选参数:
public void ExampleMethod(
int required,
string optionalstr = "default string",
int optionalint = 10
)
Run Code Online (Sandbox Code Playgroud)
在以前的版本中,您可以使用方法重载来模拟默认参数.
您只需使用默认值声明它们 - 它们称为可选参数:
public void myMethod(string param1 = "default", int param2 = 3)
{
}
Run Code Online (Sandbox Code Playgroud)
这是在C#4.0中引入的(因此您需要使用visual studio 2010).
一个简单的解决方案是重载该方法:
private void Foo(int length)
{
}
private void Foo()
{
Foo(20);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14602 次 |
| 最近记录: |