我们如何在C#.net中声明可选参数?

时间:2011-02-25 11:24:24

标签: c# optional

我正在使用一种方法来执行某些操作,我希望通过在C#中使用可选参数只能编写一次方法,除了方法重载之外还有吗?

5 个答案:

答案 0 :(得分:34)

Visual Studio 2010新手

named and optional arguments

例如

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.
}