C# 中的ref 和out区别
1、ref 参数必须初始化,out 不必。
int i; SomeMethod( ref i );//语法错误 SomeMethod( out i );//通过
2、因为ref需要初始化,所以ref 可以在函数内部使用,
而out未必初始化,所以不能在函数内部使用。
public void SomeMethod(ref int i) { int j=i;//通过 //... } public void SomeMethod(out int i) { int j=i;//语法错误 }
3、ref参数已初始化,所以在函数内部不一定需要改变值,
out未必初始化,所以在结束函数前需要改变其值。