4
我遇到过关于浅拷贝和hashtables深层拷贝的文章/解释,我读得越多,我就越困惑。混淆hashtable的浅拷贝
Hashtable ht = new Hashtable();
ht.Add("1", "hello");
Hashtable ht2 = new Hashtable();
ht2 = ht; // case1: is this shallow copy?
ht2["1"] = "H2";
Hashtable ht3 = new Hashtable(ht); // case2: is this shallow copy?
ht3["1"] = "H3";
Hashtable ht4 = new Hashtable();
ht4 = (Hashtable)ht.Clone(); // case3: is this shallow copy?
ht4["1"] = "H4";
- 案例1:结果,HT含量的变化成为同样有HT2。情况2:结果,ht内容与ht3不同。案例3:结果,与ht4不同的ht内容不同。
如果Case2和Case3是浅拷贝,那么结果是不是应该与Case1相同?
这是否也发生List,ArrayList等?
另外 - 如果你使用的是.NET 3.5,为什么你还在使用'ArrayList'和'Hashtable'?强烈喜欢泛型类型。 – 2012-07-19 11:16:45
hi @JonSkeet,thx用于指出泛型类型。我已经转向泛型。 – 2012-07-20 03:34:37