C# ref、out、params与值类型参数修饰符

1.值类型:

 代码

值类型被当做参数时,传递的是值的副本,所以在下面的方法中修改参数的值并不能影响函数调用中指定的参数的值。

当然也可以为函数定义返回值从而得到一些想要的结果:

 代码

但是这样做不好的地方就是不能改变用作参数的多个变量值。(因为函数只有一个返回值)。

2.引用类型(ref):

 代码

此时可以通过“引用”参数修饰符(即关键字 ref)传递参数,这样函数处理与函数调用中使用的变量就是同一个(因为引用类型参数传递的是引用的地址),所以在方法中对这个变量进行任何修改都会影响用作参数的变量的值。

但经过 ref 修饰符修饰的变量在用作函数的参数传递时必须先初始化,不能在函数中进行初始化操作。

3.输出类型(out):

 代码

out 关键字的使用方式和 ref 关键字类似,使参数按引用传递值。

不同之处:ref 参数在用作参数传递时必须先初始化。out 参数则不需要在传递之前初始化(就算在传递之前已经初始化,在函数里面也需要重新初始化,忽略传递之前初始化的值),但必须在方法结束返回之前赋值。

4.参数数组(params):

 代码

C#中函数可以指定一个特定的参数(即 params 修饰的参数数组,只能有一个),且这个参数必须是函数定义中的最后一个参数(即 params 关键字后面不允许出现任何其他参数)。

params 修饰的参数数组不指定参数的数量,唯一的限制就是所有的参数类型必须和参数数组是同类型。

posted @ 2018-04-30 13:13  Baby圆圆  阅读(209)  评论(0)    收藏  举报