浅析C#的复制和克隆
作者:shichen2014 时间:2022-08-30 15:27:13
本文浅析了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#,复制,克隆
0
投稿
猜你喜欢
Android 去掉状态栏的方法汇总
2022-05-25 01:31:18
Android Studio 3.0中mipmap-anydpi-v26是什么东东
2023-10-11 01:17:44
SpringBoot整合MyCat实现读写分离的方法
2022-03-05 23:37:45
Android蓝牙通信聊天实现发送和接受功能
2022-02-07 21:58:56
SpringMVC上传文件的两种方法
2023-11-17 14:27:20
c# 编写一个轻量级的异步写日志的实用工具类(LogAsyncWriter)
2021-11-23 01:56:14
MyBatis注解式开发映射语句详解
2023-06-07 20:31:23
Android用PopupWindow实现自定义Dailog
2023-11-03 13:34:57
深入理解java中的null“类型”
2022-07-28 00:41:20
SpringMVC Restful api接口实现的代码
2023-11-29 12:34:27
C#实现将应用程序设置为开机启动的方法
2023-06-04 05:59:26
Mybatis如何配置连接池
2021-10-22 03:06:47
Java矩阵连乘问题(动态规划)算法实例分析
2022-05-04 21:50:54
Java读取本地json文件及相应处理方法
2023-10-16 16:37:34
Java中数组在内存中存放原理的讲解
2022-12-10 03:48:35
SpringMVC深入讲解文件的上传下载实现
2022-04-21 09:01:51
解决Android studio3.6安装后gradle Download失败(构建不成功)
2021-07-20 15:38:42
Java使用arthas修改日志级别详解
2023-02-04 23:09:26
Android返回键功能的实现方法
2021-10-01 12:54:53
JAVA如何调用Shell脚本
2022-11-25 01:13:13