但我在实践中发现: 数组参数在不用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#的书将上面的情况加以说明。
谢谢。
新闻热点
疑难解答