码迷,mamicode.com
首页 > 其他好文 > 详细

C# 复制和克隆认识浅谈

时间:2014-07-20 03:28:06      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:遍历   异常   调试   asp.net   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 后面的集合不可更改

//这个时候应该我想到了,应该在便利之前复制一份

C# 复制和克隆认识浅谈

标签:遍历   异常   调试   asp.net   c#   

原文地址:http://blog.csdn.net/chenhongwu666/article/details/37973295

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!