函数的形参前可以带三种修饰符,分别的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可变参数也是需要传递赋了值的变量。

四、补充

上述的三种方式都是为了函数返回多个参数值,如果对应的参数有关联性,

可以把它们封装成一个类,这样也能达到返回多个值的效果。

最新文章

  1. ZXing二维码的生成和解析
  2. char类型与Unicode的编码
  3. Android EditText 不弹出输入法
  4. sql拆分查询
  5. 2014--9=17 软工二班 MyEclipse blue==1
  6. Java_Vector类的使用,以及Stack继承Vector,推出的栈的特性
  7. jquery+css实现菜单收缩效果并适应多种浏览器与移动平台
  8. [Javascript] Safe Nested Object Inspection
  9. PowerShell 中使用json对象的性能比较
  10. MarkDown编写规范指南
  11. Andorid之页面布局优化
  12. 最新手机号正则表达式 java 、javascript版正则表达式验证是否为11位有效手机号码
  13. docker制作tomcat镜像
  14. java反射查看jar包中所有的类名方法名
  15. cf438E. The Child and Binary Tree(生成函数 多项式开根 多项式求逆)
  16. APP开发,微信第三方登录的介绍
  17. HADOOP security
  18. php结合phantomjs实现网页截屏、抓取js渲染的页面
  19. java信任所有证书
  20. JAXB--@XmlType注解标注xml生成顺序

热门文章

  1. c++ try catch 问题(没有throw就会被删除,加上/EHa这样就不会被删除)
  2. QT之圆形头像(使用PNG的Mask达到的效果)
  3. WPF文字描边的解决方法(二)——支持文字竖排和字符间距调整
  4. WPF扑克牌之红桃K
  5. android延时处理任务范例
  6. ASP.NET Core 简介 - ASP.NET Core 基础教程 - 简单教程,简单编程
  7. CefSharp中ChromiumWebBrowser打开新页面处理(_blank)
  8. hdu4614 二分法+段树
  9. 微信nodejs开发模块指南
  10. EntityFrameworkCore 单表树状结构配置