int[] a = null;
NewMethod(a);
List<int> k = new List<int>();
k.Add(1);
k.Add(2);
a = k.ToArray();
运行结果a还是NULL,按照C#的定义,数组是引用类型,运行代码后数组a的应该赋值成功
void NewMethod(ref int[] a)
数组是引用没错,它的意思是,你对引用类型的更改反应到调用者,但是你不能将引用类型指向另一个对象。
比如
int[] a = { 1, 2 };
NewMethod(a);
Console.WriteLine(a[0]);
void NewMethod(int[] a)
{
a[0] = 10;
a[1] = 20;
}
主程序调用后它的数组元素也更改了。