淺析C#的復制和克隆
本文淺析了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中了的鍵值之后,發(fā)現ht中的鍵值也修改了,顯然這不是我想要的結果,然后略微思考,用了Clone(),問題得以解決。
DataTable同樣,DataTable dt2 = dt.Copy()復制或者直接給值都是不可以的,同樣會改變原來的datatble中的值
這里需要修改HashTable中的鍵值,一般會報異常,提示您的集合已修改XXX什么的,因為foreach遍歷的時候,in 后面的集合不可更改
這個時候應該我想到了,應該在遍歷之前復制一份
相關文章
詳解C#編程中異常的創(chuàng)建和引發(fā)以及異常處理
這篇文章主要介紹了C#編程中異常的創(chuàng)建和引發(fā)以及異常處理,文中介紹了Catch塊和Finally塊等基本的異常處理要點,需要的朋友可以參考下2016-02-02
C#導出生成excel文件的方法小結(xml,html方式)
C#導出生成excel文件的方法小結(xml,html方式)。需要的朋友可以過來參考下,希望對大家有所幫助2013-10-10

