多个可选参数调用函数

Posted

技术标签:

【中文标题】多个可选参数调用函数【英文标题】:Multiple optional parameters calling function 【发布时间】:2013-07-17 17:14:02 【问题描述】:

假设我有一个像下面这样的函数 它需要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

【问题讨论】:

【参考方案1】:

你需要使用named parameters,像这样:

myfunc(a, c:5);

【讨论】:

【参考方案2】:

这样称呼它:

myfunc(3, c: 5)

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

【讨论】:

以上是关于多个可选参数调用函数的主要内容,如果未能解决你的问题,请参考以下文章

Python函数:函数的定义语法调用参数类型(必选参数缺省参数可选参数关键字可选参数)return返回值函数嵌套

Go/可选参数中的多个构造函数?

C#基础 可选参数调用params无参静态构造函数

如何在函数调用中跳过可选参数?

将多个参数从控制器传递到工厂服务进行 REST 调用并返回(可选)数据

PHP在函数调用期间针对特定的可选参数[重复]