读书人

传值有关问题

发布时间: 2012-04-20 15:27:03 作者: rapoo

传值问题
List<T>,HashTable都是地址传递嘛?

[解决办法]
是的是的
[解决办法]

探讨
是的是的

[解决办法]
我想问下,ref object[] 是不是不管用啊,在函数体内有修改到值,但是在外面,值却没变
[解决办法]
不用解释了,上代码,楼主比较一下代码输出结果,自己体会一下:
很直观。
C# code
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));}
[解决办法]
C# code
// 修改一下: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));} 

读书人网 >C#

热点推荐