class test
{public static void Refchar(ref string str)
{str="250";}
public static void Valuechar(string str)
{str="250"}
static void Main()
{string st="249";
valuechar(st);
Console.writeline("valuechar:{0}",st);
Refchar(ref st);
Console.writeline("Refchar:{0}",st);
}
}
为什么在主函数中, Refchar(ref st);
Console.writeline("Refchar:{0}",st)和 valuechar(st);
Console.writeline("valuechar:{0}",st),如果换一下先后顺序,输出结果不一样?
直接输出是"249","250".
ref关键字通过引用(而非值)传递参数。 通过引用传递的效果是,对所调用方法中的参数进行的任何更改都反映在调用方法中。当调用Refchar(ref st)方法后,st就变成“250”了,所以换一下顺序输出是“250”“250”。
ref关键字通过引用(而非值)传递参数,学习了