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