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中的值,)...未完待续...

原文地址:https://www.cnblogs.com/gccbuaa/p/6846669.html