C# — ref参数、params参数、out参数详解

一、ref参数

 ref:参数引用。

 效果:当控制权传递回调用方法时,在方法中对参数的任何改变都将返回在改变量中。

 注意:

    1、若要使用ref参数,则方法定义和调用方法都必须显示使用ref关键字;

    2、参数必须先初始化,这与out不同,out的参数在传递之前不需要显式初始化。

    3、尽管ref和out在运行时的处理方式不同,但在编译时的处理方式相同,因此,如果一个方法采用ref参数,而另一个方法采用out参数,则无法重载这两个方法。但是如果一个方法采用ref或out参数,而另一个方法不采用这两个参数,则可以进行重载。

    4、属性不是变量,因此不能作为ref参数传递。

二、out参数

 out:导致参数通过引用来传递。

 效果:这与ref关键字类似,不同之处在于ref要求变量必须在传递之前进行初始化,而out不必初始化。

 注意:

    1、若要使用out参数,方法定义和调用方法都必须显式使用out关键字。

    2、属性不是变量,因此不能作为out参数传递。

    3、希望方法返回多个值时,声明out方法很有用。

三、params参数

 params参数:参数数目可变。

 注意:

    1、在方法中声明params关键字之后不允许任何其他参数,并且在方法声明中只允许一个params关键字。

链接地址:https://wenku.baidu.com/view/53a8470190c69ec3d5bb751f.html