C#中的ref 和out 关键字怎么使用呢?

来源:百度知道 编辑:UC知道 时间:2024/06/07 22:19:21
能不能来个简单的小例子呢?

基本没什么区别
在次函数中调用时改变了其中的数值,主函数中也将发生改变
ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字
out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。。
如果一个方法采用 ref 或 out 参数,而另一个方法不采用这两类参数,则可以进行重载,
ref 和 out 关键字在运行时的处理方式不同,但在编译时的处理方式相同。因此,如果一个方法采用 ref 参数,而另一个方法采用 out 参数

概念你看书就可以了,或者上楼上的解说,
我给你两个例子:
ref例子:

定义一个方法:
public void SetValue(ref int count)
{
count = count * 12;
}

调用方法:
int count = 10;
SetValue(ref count);

Console.Write(count);//这里count为120;

=========================================================
out 例子:

定义一个方法:
public viod SetValue(out int count)
{
count = 15;
count = count * 10;
}

调用该方法:
int count;//注意这里可以不初始化;

SetValue(count);
Cosole.Write(count);//这里count为:150