我正在使用一种方法来执行某些操作,我希望通过在C#中使用可选参数只能编写一次方法,除了方法重载之外还有吗?
答案 0 :(得分:34)
Visual Studio 2010新手
例如
public void ExampleMethod(int required, string optionalstr = "default string",
int optionalint = 10)
{
}
答案 1 :(得分:12)
查看以下代码
要使用的库
using System.Runtime.InteropServices;
功能声明
private void SampleFunction([Optional]string optionalVar, string strVar)
{
}
在给予功能调用时,您可以这样做
SampleFunction(optionalVar: "someValue","otherValue");
OR
SampleFunction("otherValue");
如果有帮助则回复。!:)
答案 2 :(得分:8)
是的,使用optional parameters(在C#4中介绍)。
public void ExampleMethod(int required, string optionalstr = "default string",
int optionalint = 10)
当您为形式参数提供默认值时,它将成为可选参数。
对于以前的版本,重载是唯一的选择。
答案 3 :(得分:4)
它们已在C#2010中引入(通常 VS2010与Framework 4.0)。请参阅Named and Optional Arguments (C# Programming Guide)。
在以前的C#版本中,你遇到了重载(或param数组)。
答案 4 :(得分:2)
如果您使用 C#4.0 ,则为。
然后您可以像这样定义您的方法:
public void Foo( int a = 3, int b = 5 ){
//at this point, if the method was called without parameters, a will be 3 and b will be 5.
}