函数的形参前能够带三种修饰符,分别的out、ref、param。数组
out:让函数能够输出“多个值”,并非真正的输出多个值。函数
ref:至关于引用传递,在函数内部赋值会影响变量的值。3d
params:可变参数,当不知道数组的个数时能够方便的使用。blog
1、out变量
代码解析:引用
1.使用格式,定义时:out 类型 形参数名。使用时:out 实参名。方法
定义out参数变量时,能够不为变量赋值,由于赋值也是无用的,必须在方法内从新赋值。im
2.能够看到,调用函数后,count的值变成了3。d3
3.C#7.0对out参数作了改进,目前尚未研究。db
2、ref
1.使用格式,定义时:ref 类型 形参名。调用时:reg 实参名。
能够看到,使用ref的变量在使用前是必须赋值的,由于函数内部能够不对其作操做。
2.由结果可知,count的值被赋值为10086了。对普通的参数,形参值的改变是不会影响实参值的。
3、params
1.使用格式,定义:params 类型的数组形式(如:int[]) 形参名,必须是在全部形参的结尾定义。
2.调用时,能够不为params传递参数,此时,形参将是一个长度为0的数组,而不是NULL。
3.能够看到,对params可变参数的赋值形式,
a.能够不传递参数。
b.能够使用单个的参数拼凑成数组。
c.直接传递数组。
4.对可变参数的操做和对数组的操做一致,只是须要对其进行判断是否传递了参数。
5.params可变参数也是须要传递赋了值的变量。
4、补充
上述的三种方式都是为了函数返回多个参数值,若是对应的参数有关联性,
能够把它们封装成一个类,这样也能达到返回多个值的效果。