163K网站系统官方论坛's Archiver

csf 发表于 2007-2-16 12:01

.net教程:ref和out关键字初解

[size=3]ref和out关键字初解
    参数可以通过引用和值传递给方法。通过引用传递给方法的变量可以有调用它的方法作自由改变,所作的修改会影响原来的变量的值;在c#中,除非特别说明,所有的参数都是值传递。
这是默认情况,也可以使用ref关键字,迫使值参数通过引用传递给方法,则给方法对变量所作的修改都会影响原来对象的值。在定义该方法时把该参数定义为ref后,在调用该方法时,还需要添加ref关键字。
static void myfun(int x,ref int y)
{
    y = x;
}

//调用该方法
myfun(x,ref y);

    有时为了从一个函数中返回多个值,我们需要使用out关键字,把输出值赋给通过引用传递给方法的变量(也就是参数)。但c#要求变量再被引用的前必须初始化。在调用该方法时,还需要添加out关键字。
static void myfun(out int y)
{
    y = 10; //在这里进行初始化
}
//
//调用该方法
public static int main()

{
    int i;
    myfun(out i);
    console.writeline(i);
    return 0;
}

从上面的例子我们可以看出,out关键字和ref的不同点主要在:使用out关键字时,必须在方法体



[/size]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.