C#函数和可选参数

时间:2012-02-02 10:40:01

标签: c#

我知道在C#中可以定义可选参数。我的问题是针对这是多么灵活。

设f为如下函数, a 为强制性, b c 可选:

class Test {
   public void f(int a, int b = 2, int c = 3) {
      //...
   }
}

现在,我知道我可以通过以下方式调用该函数:

f(1) - > a等于1,b等于2,c等于3

f(11,22) - > a等于11,b等于22,c等于3

f(11,22,33) - > a等于11,b等于22,c等于33

如何指定 b ,但 a c

4 个答案:

答案 0 :(得分:7)

尝试:

f(11, c: 33)

并查看documentation

答案 1 :(得分:2)

您可以在参数前添加参数名称:

f(1, c:3);

答案 2 :(得分:2)

使用named arguments

f(a: 5, c: 6);

虽然严格来说,在我的例子中,你没有资格获得a:

f(5, c: 6);

答案 3 :(得分:0)

您使用命名参数:

f( a:100, c:300);