解说 C#中 Ref 参数的使?

 

 
在?些书中关于 REF 参数的说明?般如下:
ref 在使?过程中会改变变量的值,且例?如下:
public static void ValueParam(string str)
{
str = "251";
}
public static void RefParam(ref string str)
{
str = "250";
}
public static void Main()
{
string str = "249";
ValueParam(str);
Console.WriteLine(" Value Param:"+str);
RefParam(ref str);
Console.WriteLine(" Ref Param:"+str);
}
结果为:
Value Param:249
Ref Param:250 但我在实践中发现: 数组参数在不? REF 修饰下值也会改变的,
看下?这个例?:
public void ChageValue(int[] arr)
{
for(int i =0;i<arr.Length;i++)
arr[i]=0;
}
public static void Main()
{
int [] aar = {3,4,5,7,2,6,1};
for(int i=0;i<aar.Length;i++)
Console.WriteLine(">>>"+aar[i].ToString());
ChageValue(aar); // 这?没有使? REF 参数.
for(int i=0;i<aar.Length;i++)
Console.WriteLine("<<<"+aar[i].ToString());
}
从结果中可以看出,数组本?已经改变了,因此不仅仅? REF 的形式可以改变参数

解说 C#中 Ref 参数的使?

上一篇:C#事件,委托


下一篇:wpf tabcontrol内的datagrid的selectionChanged事件向往传递问题