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未必初始化,所以在结束函数前需要改变其值。

 

posted @ 2020-08-12 13:46  大空白纸  阅读(1575)  评论(0编辑  收藏  举报