传值问题
List<T>,HashTable都是地址传递嘛?
[解决办法]
是的是的
[解决办法]
public static void NonRefArray(object[] a){ a[1] = 2; a = new object[] { 3, 3, 3 };}public static void RefArray(ref object[] a){ a[1] = 2; a = new object[] { 3, 3, 3 };}static void Main(string[] args){ object[] a = new object[] { 1, 1, 1, 1 }; NonRefArray(a); Console.WriteLine(String.Join(", ", a)); RefArray(a); Console.WriteLine(String.Join(", ", a));}
[解决办法]
// 修改一下:public static void NonRefArray(object[] a){ a[1] = 2; a = new object[] { 3, 3, 3 };}public static void RefArray(ref object[] a){ a[1] = 2; a = new object[] { 3, 3, 3 };}static void Main(string[] args){ object[] a = new object[] { 1, 1, 1, 1 }; NonRefArray(a); Console.WriteLine(String.Join(", ", a)); RefArray(ref a); // 调用加 ref 关键字 Console.WriteLine(String.Join(", ", a));}