C#之ref参数和out参数的区别



1: ? , 2:什么是 out 参数?
1、使用 ref 参数时,传入的参数必须先被初始化。对 out 参数而言,必须在方法中对其完成初始化。
2、使用 ref 和 out 时,在方法的参数和执行方法时,都要加 ref 或 out 关键字,以满足匹配。
3、out 适合用在需要 return 多个返回值的地方,而 ref 则用在需要被调用的方法,修改调用者的引用的时候。

什么时候选择用 ref ? 什么时候选择用 out ?
1、ref 的使用:使用 ref 进行参数的传递时,该参数在创建时,必须设置其初始值,所以ref 侧重于修改;
2、out 的使用:采用 out 参数传递时,该参数在创建时,可以不设置初始值,但是在方法中必须初始化,所以 out 侧重于输出;

当希望方法返回多个值时,可以用 out,并且一个方法中的参数可以有一个或多个 out 参数;
使用 out 参数,必须将参数作为 out 参数显式传递到方法中,但是out 参数的值不会被传递到方法中,且属性不是变量,不能作为 out 参数传递。

简单来说:ref 是有进有出,而 out 是只出不进。
原文链接:https://blog.csdn.net/qq_42351033/article/details/85125089