C# 复制和克隆认识浅谈2
2014-08-18 13:57
120 查看
接上篇博文
上面情况,如果窗体加载完毕之后,ht和newhash的值是相同,因为hashtable是引用类型,在调用hashtable时,将ht的指针赋值给了newhash,在newhash.Add("qq",23);
之后,ht和newhash的指针指向同一个地址,故而ht的值也变了,如果此时不需要ht变化,则可以使用clone(),
克隆:简单字面意思就是重新创造一个出来,当然这个clone()出来的是副本,指向的地址和使用的内存空间肯定不一样,这样就可以了,
Hashtable ht = new Hashtable();
ht.CopyTo(array,startindex);
还有这个,这个是将hashtable复制到一维数组,在具体工作中应用也比较多,
总而言之,遇到以上情况使用克隆即可,hashtable浅谈就到这里,文章简陋,语句笨拙还请见谅,欢迎斧正
private void Form1_Load(object sender, EventArgs e) { Hashtable ht = new Hashtable(); GetValue(ht); } private void GetValue(Hashtable ht) { Hashtable newhash = new Hashtable(); newhash = ht; newhash.Add("qq", "33"); }
上面情况,如果窗体加载完毕之后,ht和newhash的值是相同,因为hashtable是引用类型,在调用hashtable时,将ht的指针赋值给了newhash,在newhash.Add("qq",23);
之后,ht和newhash的指针指向同一个地址,故而ht的值也变了,如果此时不需要ht变化,则可以使用clone(),
克隆:简单字面意思就是重新创造一个出来,当然这个clone()出来的是副本,指向的地址和使用的内存空间肯定不一样,这样就可以了,
Hashtable ht = new Hashtable();
ht.CopyTo(array,startindex);
还有这个,这个是将hashtable复制到一维数组,在具体工作中应用也比较多,
总而言之,遇到以上情况使用克隆即可,hashtable浅谈就到这里,文章简陋,语句笨拙还请见谅,欢迎斧正
相关文章推荐
- C# 复制和克隆认识浅谈
- C# 复制和克隆认识浅谈
- C# 复制和克隆认识浅谈
- C#中,用HashTable,DataTable等复制和克隆浅谈
- C#:浅谈对象数组,运算符重载和深度复制的应用
- C#:浅谈对象数组,运算符重载和深度复制的应用
- C#中的深复制和浅复制(在C#中克隆对象)
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
- C#:浅谈对象数组,运算符重载和深度复制的应用
- C#学习笔记- 浅谈数组复制,排序,取段,元组
- C#中的深复制和浅复制(在C#中克隆对象)
- C#中的深复制和浅复制(在C#中克隆对象) 整理
- 深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第五节 引用类型复制问题及用克隆接口ICloneable修复
- C#中的深复制和浅复制(在C#中克隆对象)
- 浅谈C#各种数组直接的数据复制/转换
- C#中的深复制和浅复制(在C#中克隆对象)
- C# 中的复制克隆
- C# List 复制克隆副本
- C#中的深复制和浅复制(在C#中克隆对象)
- C# 中的复制克隆