您的位置:首页 > 编程语言 > C#

C# 中的 Out 和 Ref 参数

2012-05-02 22:14 225 查看
outref参数经常用来通过方法传递参数来获取值,当您的方法不只有一个返回值的时候,这两个参数就发挥作用了。ref是传递参数的地址,out是返回值,两者有一定的相同之处,不过也有不同点。在这篇文章里,我将解释如何在c#应用中使用这两个参数。

1、out参数

out方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。

publicclassmathClass

{

publicstaticintTestOut(outintiVal1,outintiVal2)

{

iVal1=10;

iVal2=20;

return0;

}

publicstaticvoidMain()

{

inti,j;//variableneednotbeinitialized

Console.WriteLine(TestOut(outi,outj));

Console.WriteLine(i);

Console.WriteLine(j);

}

}


2、ref参数

ref方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。

staticvoidMain(string[]args)

{

//Refsample

intrefi;//variableneednotbeinitialized

refi=3;

RefTest(refrefi);

Console.WriteLine(refi);

Console.ReadKey();

}

publicstaticvoidRefTest(refintiVal1)

{

iVal1+=2;

}

3、区别

使用ref前必须对变量赋值,out不用。

out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,也可以不修改。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: