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"); // 第一个实参是按位置来定的
python可选参数定义_c#教程之定义可选参数相关推荐
- c语言宏定义_C语言宏定义
C语言的宏,是C的一大特点,宏定义可以用来定义常量,函数,为了全局替换起来方便. 比如: #define PIE 3.1415926 再比如: #define MAX(a,b) ( (a)>(b ...
- c语言解除宏定义_C语言宏定义 define,及一些陷阱!
https://m.toutiaocdn.com/group/6584292311289561607/?iid=39362926900&app=news_article×ta ...
- 教程 参数设置_UG教程之非切削参数设置
转移/快速 转移/快速指定如何从一个切削刀路移动到另一个切削刀路.通常情况下,刀具需要进行以下3个动作: (1)从其当前位置移动到指定的平面. (2)移动到指定平面内高于进刀运动起点的位置. (3)最 ...
- python使用函数的目的_在Python 3.x中经常看到定义函数有一个单独的 * 参数?定义这样参数的目的是?怎样对其取值呢?...
参数在python中总是通过赋值进行传递的.在默认情况下,参数是通过其位置进行匹配的,从左到右,而且必须精确的传递和函数头部参数名一样多的参数. 这种默认的传递方式很简单 def f(a,b,c): ...
- python定义构造函数、包括颜色价格品牌_《Python编程与算法基础教程》(第二版),蒋洪宇,青松,第9章:课后练习,程序设计,版江红余,第九章,习题,答案...
例9.1~例9.53 补充: 类名为有效的标识符,一般为多个单词组成的名称,每个单词除第一个字母大写外,其余的字母均小写 一:类对象和实例对象 例9.1(创建类对象和实例对象) >>> ...
- pythonnamedtuple定义类型_python - namedtuple和可选关键字参数的默认值
python - namedtuple和可选关键字参数的默认值 我正在尝试将一个冗长的空洞"数据"类转换为一个命名元组. 我的班级目前看起来像这样: class Node(obje ...
- python函数参数定义顺序_Python函数定义-位置参数-返回值
原标题:Python函数定义-位置参数-返回值 1 函数介绍 函数在编程语言中就是完成特定功能的一个词句组(代码块),这组语句可以作为一个单位使用,并且给它取一个名字.可以通过函数名在程序的不同地方多 ...
- python中形参可以使用中文定义嘛_python中函数的参数分类
详解python函数的参数 一.参数的定义 1.函数的参数在哪里定义 在python中定义函数的时候,函数名后面的括号里就是用来定义参数的,如果有多个参数的话,那么参数之间直接用逗号, 隔开 案列: ...
- python def函数参数_Python def函数的定义、使用及参数传递实现代码
Python编程中对于某些需要重复调用的程序,可以使用函数进行定义,基本形式为: def 函数名(参数1, 参数2, --, 参数N): 执行语句函数名为调用的表示名,参数则是传入的参数,可以更具需要 ...
最新文章
- 独家 | 手把手教你用Python进行时间序列分解和预测
- List和List的区别?
- opencv检测黑色区域
- 路由器OSPF协议配置命令一
- element-ui踩坑
- 一个北京小网编从1000块起家的网络直销故事
- Lombok介绍、附比较好用的几种注释推荐
- 【qt】QT 的信号与槽机制
- 多个字符合并成一个数组_一个excel多个sheet,需要合并为一个sheet
- CVE-2012-4792Microsoft Internet Explorer 释放后使用漏洞
- linux tensorflow demo_独家 | 在浏览器中使用TensorFlow.js和Python构建机器学习模型(附代码)...
- java组合数打印出结果_Java打印一组数据中,抽取固定数目的数的所有可能组合...
- ActiveMQ(4) ActiveMQ JDBC 持久化 Mysql 数据库
- java导入功能超时问题
- StuQ IT技能图谱全集
- 万豪集团精细化在华发展策略;完美日记母公司将收购护肤品牌Eve Lom;赛生药业港交所主板挂牌上市 | 美通企业日报...
- 利用arduino给PCB800099液晶驱动板烧录程序
- 【python基础】猜数字游戏
- JS+CSS实现页面滚动切换图片(从边角扩散)的效果
- excel报错无法粘贴信息,原因复制区域跟粘贴区域形状不同