如下程序段:
using System;public class test
{
public static void fun(ref int[] a)
{
a[0]=1;
a=new int[5]{9,9,9,9,9};
} public static void Main(string[] args)
{
int[] data={8,8,8,8,8,8,8};
foreach(int i in data)
Console.Write(i+" ");
Console.WriteLine();
fun(ref data);
foreach(int j in data)
Console.Write(j+" ");
Console.WriteLine();
}
}会修改原来数组的引用,使其指向新分配的数组,而如果ref去掉,就不会修改原来的引用值?
不是都是引用传递吗?
本来就是引用传递的,如数组,另外用ref传递和本来有何区别?谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货