Out 与 Ref 关键字的区别

相同点:
既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员更改参数的值,并保持该更改。若要通过引用传递参数, 可使用ref或out关键字。ref和out这两个关键字都能够提供相似的功效,其作用也很像C中的指针变量。
简单的说就是:两者都是按地址传递的,使用后都将改变原来的数值。

不同点:
1、使用ref型参数时,传入的参数必须先被初始化。对out而言,不必初始化作为 out 参数传递的变量, 但是必须在 out 所定义的方法中对其初始化,在方法返回之前为 out 参数赋值。

2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字来显式引用。

3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。

4. rel可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值以out传递进去的,out进去后,参数的数值为空,所以你必须初始化一次。这个就是两个的主要区别,概括的说就是:rel是有进有出,out是只出不进。

Out 与 Ref 关键字的区别