
/**//*************************************************
* ref 关键字
* ref 关键字使参数按引用传递。其效果是,当控制权
* 传递回调用方法时,在方法中对参数所做的任何更改都将
* 反映在该变量中。 若要使用 ref 参数,则方法定义和调用
* 方法都必须显式使用 ref 关键字.
*************************************************/
//no use ref
public class MyClass
...{
private int num = 256;
public void Show()
...{
Console.WriteLine(num);
}
public void Set(int num)
...{
num = 1024;
}
public static void Main()
...{
MyClass m = new MyClass();
m.Set(m.num);
m.Show();
Console.ReadLine();
}
}
/**//*************************************************
* output
* 256 num 的值未变
*************************************************/
//use ref
public class MyClass
...{
private int num = 256;
public void Show()
...{
Console.WriteLine(num);
}
public void Set(ref int num)
...{
num = 1024;
}
public static void Main()
...{
MyClass m = new MyClass();
m.Set(ref m.num);
m.Show();
Console.ReadLine();
}
}
/**//*************************************************
* output
* 1024 num 的值被改变了
*************************************************/
C# ref 关键字详解
4014

被折叠的 条评论
为什么被折叠?



