Ref 和out
out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。
若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。例如:
//使用Ref public void RefTest(ref int i,ref int j) { i = 1; j = 9; } public void GetRefTest() { int i=0, j=0; //使用前必须赋值 RefTest(ref i, ref j ); //调用函数后值就会改变 Console.WriteLine("i="+i+",j="+j); }
//使用Out public void GetOutText() { int i; string text; //不用提起赋值 OutTest(out i, out text); //调用函数后值就会改变 Console.WriteLine("i=" + i + ",text="+text); } private void OutTest(out int i, out string text) { i = 9; text = "hi nice to meet you"; }