多个可选参数调用函数

Mon*_*RPG 24 c# function optional-parameters optional-variables optional-arguments

假设我有一个如下所示的函数它需​​要3个参数,2个具有可选值

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

现在我想调用这个函数如下可能吗?

myfunc(3,,5)
Run Code Online (Sandbox Code Playgroud)

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

但它正是这样给出错误的.

这里是错误消息

Argument missing
Run Code Online (Sandbox Code Playgroud)

C#4.5

It'*_*ie. 50

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

myfunc(a, c:5);
Run Code Online (Sandbox Code Playgroud)


jlt*_*rem 15

这样叫:

myfunc(3, c: 5)
Run Code Online (Sandbox Code Playgroud)

您可以在MSDN上阅读命名参数.命名参数可以是任何顺序,但必须遵循位置参数; 即,一旦使用命名参数,就无法使用位置参数.