C# 複製和克隆認識淺談

如有雷同,不勝榮欣,若轉載,請註明

在C#中,用HashTable,DataTable等複製和克隆淺談,下面直接看例子

HashTable ht = null;

ht = new HashTable();

foreach(string s in ht)

{

//...

}

//上面遍歷的時候需要修改HashTable中的鍵值,一般會報異常,提示您的集合已修改XXX什麼的,因爲foreach遍歷的時候,in 後面的集合不可更改

//這個時候應該我想到了,應該在便利之前複製一份,

HashTable ht2 = new HashTable();

ht.Copy(ht2,0);


以上代碼能調試通過,但是問題由來了,當我修改了ht2中了的鍵值之後,發現ht中的鍵值也修改了,顯然這不是我想要的結果,然後略微思考,用了Clone()

問題解決,

(DataTable同樣,DataTable dt2 = dt.Copy()複製或者直接給值都是不可以的,同樣會改變原來的datatble中的值,)...未完待續...



//這裏需要修改HashTable中的鍵值,一般會報異常,提示您的集合已修改XXX什麼的,因爲foreach遍歷的時候,in 後面的集合不可更改

//這個時候應該我想到了,應該在便利之前複製一份

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章