Hashtable hs = new Hashtable(); List<string> b; List<string> a = new List<string>(); a.Add("1"); a.Add("2"); a.Add("3"); hs.Add("mm", a);
b = hs["mm"] as List<string>; b.Add("4"); b.Add("5");
b = null;
为什么b为空时,hs中的value为1,2,3,4,5?
list<string> 就像C++中的指针一样。他们是引用传值
a 中的值同样的会是 1,2,3,4,5
就像楼上所说的Hashtable list<string>都是引用传值