C#函数参数前的修饰符
2024-08-31 11:44:38
函数的形参前可以带三种修饰符,分别的out、ref、param。
out:让函数可以输出“多个值”,并不是真正的输出多个值。
ref:相当于引用传递,在函数内部赋值会影响变量的值。
params:可变参数,当不知道数组的个数时可以方便的使用。
一、out
代码解析:
1.使用格式,定义时:out 类型 形参数名。使用时:out 实参名。
定义out参数变量时,可以不为变量赋值,因为赋值也是无用的,必须在方法内重新赋值。
2.可以看到,调用函数后,count的值变成了3。
3.C#7.0对out参数做了改进,目前还没有研究。
二、ref
1.使用格式,定义时:ref 类型 形参名。调用时:reg 实参名。
可以看到,使用ref的变量在使用前是必须赋值的,因为函数内部可以不对其做操作。
2.由结果可知,count的值被赋值为10086了。对普通的参数,形参值的改变是不会影响实参值的。
三、params
1.使用格式,定义:params 类型的数组形式(如:int[]) 形参名,必须是在所有形参的结尾定义。
2.调用时,可以不为params传递参数,此时,形参将是一个长度为0的数组,而不是NULL。
3.可以看到,对params可变参数的赋值形式,
a.可以不传递参数。
b.可以使用单个的参数拼凑成数组。
c.直接传递数组。
4.对可变参数的操作和对数组的操作一致,只是需要对其进行判断是否传递了参数。
5.params可变参数也是需要传递赋了值的变量。
四、补充
上述的三种方式都是为了函数返回多个参数值,如果对应的参数有关联性,
可以把它们封装成一个类,这样也能达到返回多个值的效果。
最新文章
- ZXing二维码的生成和解析
- char类型与Unicode的编码
- Android EditText 不弹出输入法
- sql拆分查询
- 2014--9=17 软工二班 MyEclipse blue==1
- Java_Vector类的使用,以及Stack继承Vector,推出的栈的特性
- jquery+css实现菜单收缩效果并适应多种浏览器与移动平台
- [Javascript] Safe Nested Object Inspection
- PowerShell 中使用json对象的性能比较
- MarkDown编写规范指南
- Andorid之页面布局优化
- 最新手机号正则表达式 java 、javascript版正则表达式验证是否为11位有效手机号码
- docker制作tomcat镜像
- java反射查看jar包中所有的类名方法名
- cf438E. The Child and Binary Tree(生成函数 多项式开根 多项式求逆)
- APP开发,微信第三方登录的介绍
- HADOOP security
- php结合phantomjs实现网页截屏、抓取js渲染的页面
- java信任所有证书
- JAXB--@XmlType注解标注xml生成顺序
热门文章
- c++ try catch 问题(没有throw就会被删除,加上/EHa这样就不会被删除)
- QT之圆形头像(使用PNG的Mask达到的效果)
- WPF文字描边的解决方法(二)——支持文字竖排和字符间距调整
- WPF扑克牌之红桃K
- android延时处理任务范例
- ASP.NET Core 简介 - ASP.NET Core 基础教程 - 简单教程,简单编程
- CefSharp中ChromiumWebBrowser打开新页面处理(_blank)
- hdu4614 二分法+段树
- 微信nodejs开发模块指南
- EntityFrameworkCore 单表树状结构配置