out
out表明parameter一定会被方法所改变,不需要初始化。
in
in表明parameter不能被方法所改变,需要初始化。
ref
用于向方法传递或返回值的引用。 基本上,这意味着对通过引用传递的值所做的任何更改都将反映此更改,因为您正在修改地址处的值而不仅仅是值
Difference between Ref and Out keywords
ref | out |
---|---|
参数必须在传递给 ref 之前进行初始化 | 在传出之前不需要初始化参数 |
在返回调用方法之前不必初始化参数的值 | 在返回调用方法之前,需要初始化参数的值 |
当被调用的方法也需要更改传递参数的值时,通过 ref 参数传递值很有用 | 当方法返回多个值时,通过 out 参数声明参数很有用 |
当使用 ref 关键字时,数据可以双向传递 | 当使用 out 关键字时,数据仅单向传递 |