首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

传值有关问题

2012-04-20 
传值问题ListT,HashTable都是地址传递嘛?[解决办法]是的是的[解决办法]探讨是的是的[解决办法]我想问下,

传值问题
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));} 

热点排行