27

假设我有一个像下面这样的函数它需​​要 3 个参数和 2 个可选值

private void  myfunc (int a, int b=2, int c=3)
{
  //do some stuff here related to a,b,c
}

现在我想像下面这样调用这个函数怎么可能?

myfunc(3,,5)

所以我希望它使用默认参数 b=2

但它以这种方式给出错误。

这里的错误信息

Argument missing

C# 4.5

4

2 回答 2

63

您需要使用命名参数,如下所示:

myfunc(a, c:5);
于 2013-07-18T16:14:06.073 回答
16

像这样称呼它:

myfunc(3, c: 5)

您可以阅读MSDN 上的命名参数。命名参数可以是任意顺序,但必须跟在位置参数之后;即,一旦使用命名参数,就不能使用位置参数。

于 2013-07-18T16:15:12.240 回答