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

C# 中的 Out 和 Ref 参数

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

1、out 参数

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

public class mathClass
{
public static int TestOut(out int iVal1, out
int iVal2)
{
iVal1 = 10;
iVal2 = 20;
return 0;
}

public static void Main()
{
int i, j; // variable need not be
initialized
Console.WriteLine(TestOut(out i, out
j));
Console.WriteLine(i);
Console.WriteLine(j);
}
}



2、ref 参数

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

static void Main(string[] args)
{
// Ref sample

int refi; // variable need not be initialized

refi = 3;

RefTest(ref refi);

Console.WriteLine(refi);

Console.ReadKey();

}

public static void RefTest(ref int iVal1)

{

iVal1 += 2;

}

3、区别

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

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