您的位置:首页 > 编程语言 > C#

C# 复制和克隆认识浅谈2

2014-08-18 13:57 120 查看
接上篇博文

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浅谈就到这里,文章简陋,语句笨拙还请见谅,欢迎斧正
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  asp.net c# winform hashtable