python可选参数定义_c#教程之定义可选参数

https://www.xin3721.com/eschool/

定义可选参数

为了指定一个参数是可选的,可以在定义方法时为该参数提供一个默认值。默认值是 使用赋值操作符来赋予的。在下面的 optMethod 方法中,第一个参数是必须的,因为它没 有提供默认值,但第二个和第三个参数是可选的:

void optMethod(int first, double second = 0.0, string third = "Hello")

{

...

}

所有可选的参数都只能放在必须的参数之后。调用支持可选参数的一个方法时,采用的方 式和调用其他任何方法无异。都是指定方法名,并提供任何必须的参数(实参)。区别在于, 调用支持可选参数的方法时,可省略对应的实参。方法运行时,会为这些省略的实参使用 默认值。在下例中,第一个 optMethod 方法调用为全部 3 个参数都提供了值。第二个调用 则只指定了两个实参,这些值应用于第一个和第二个参数。方法运行时,第三个参数将使 用默认值"Hello"。

optMethod(99, 123.45, "World"); // 全部3 个参数都提供了实参

optMethod(100, 54.321); // 只为前两个参数提供了实参

3.4.2 传递命名参数

C#默认根据每个实参在方法调用中的位置判断它们对应于哪个形参。所以,在上一节 的第二个示例方法调用中,两个实参分别传给 optMethod 方法的 first 和 second 形参,因为 它们在方法声明中的顺序如此。现在,C#还允许按照名称指定参数。利用这个功能,就可 以按照不同的顺序传递实参了。为了将一个实参作为命名参数来传递,必须输入参数名, 一个冒号,然后是要传递的值。下例执行和上一节的例子相同的功能,只是参数按名称来 指定:

optMethod(first : 99, second : 123.45, third : "World");

optMethod(first : 100, second : 54.321);

利用命名参数,实参就可以按任意顺序传递。可以像下面这样重写调用 optMethod 方法的 代码:

optMethod(third : "World", second : 123.45, first : 99);

optMethod(second : 54.321, first : 100);

这个功能还允许你省略实参。例如,调用 optMethod 方法时,可以只指定 first 和 third 这 两个参数的值,second 参数则使用默认值。如下所示:

optMethod(first : 99, third : "World");

另外,还可兼按位置和名称来指定实参。然而,如果使用这个技术,必须先指定好所有按 照位置的实参,再指定命名的实参:

optMethod(99, third : "World"); // 第一个实参是按位置来定的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值