鑑於以下代碼:.NET Hashtable的克隆
Hashtable main = new Hashtable();
Hashtable inner = new Hashtable();
ArrayList innerList = new ArrayList();
innerList.Add(1);
inner.Add("list", innerList);
main.Add("inner", inner);
Hashtable second = (Hashtable)main.Clone();
((ArrayList)((Hashtable)second["inner"])["list"])[0] = 2;
爲什麼從1中的「主」哈希表的陣列變化到2內的值作爲變化上的克隆製成?
這可能適合您的情況,但請注意,ArrayList仍然是淺層克隆的。如果數組列表包含對象,那麼這裏仍然存在不規則的深度+淺層克隆。 – 2010-04-14 08:21:01
看起來像一個擴展方法的體面的候選人。 – 2010-04-14 08:27:00