浅析C#的复制和克隆

 更新时间:2014年07月21日 08:58:37   投稿:shichen2014  
这篇文章主要介绍了浅析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中了的键值之后,发现ht中的键值也修改了,显然这不是我想要的结果,然后略微思考,用了Clone(),问题得以解决。

DataTable同样,DataTable dt2 = dt.Copy()复制或者直接给值都是不可以的,同样会改变原来的datatble中的值

这里需要修改HashTable中的键值,一般会报异常,提示您的集合已修改XXX什么的,因为foreach遍历的时候,in 后面的集合不可更改
这个时候应该我想到了,应该在遍历之前复制一份

相关文章

  • 关于C#调用C++dll传指针释放内存问题

    关于C#调用C++dll传指针释放内存问题

    这篇文章主要介绍了关于C#调用C++dll传指针释放内存问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • C# 整数转二进制字符串方式

    C# 整数转二进制字符串方式

    这篇文章主要介绍了C# 整数转二进制字符串方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • C# Datagridview绑定List方法代码

    C# Datagridview绑定List方法代码

    这篇文章主要介绍了C# Datagridview绑定List方法代码,在进行C#数据库程序设计时非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • C# wpf Brush转Hex字符串的实例代码

    C# wpf Brush转Hex字符串的实例代码

    这篇文章主要介绍了C# wpf Brush转Hex字符串的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • C#创建及读取DAT文件操作

    C#创建及读取DAT文件操作

    这篇文章主要介绍了C#创建及读取DAT文件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • asp.net core mvc权限控制:在视图中控制操作权限

    asp.net core mvc权限控制:在视图中控制操作权限

    本文主要介绍了asp.net core mvc权限控制:在视图中控制操作权限。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • C#实现学生模块的增删改查

    C#实现学生模块的增删改查

    这篇文章主要为大家详细介绍了C#实现学生模块的增删改查,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • C#连接Oracle数据库的方法

    C#连接Oracle数据库的方法

    这篇文章主要介绍了C#连接Oracle数据库的方法,实例分析了C#连接Oracle数据库的方法与主要实现技巧,需要的朋友可以参考下
    2015-06-06
  • C#图片处理类分享

    C#图片处理类分享

    这篇文章主要为大家分享了C#图片处理类的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • C#使用winform实现进度条效果

    C#使用winform实现进度条效果

    这篇文章主要为大家详细介绍了C#使用winform实现进度条效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07

最新评论