在将一个类赋给另一个类的时候,如何能修改一个类的内容而不影响另一个类?

boomzip 2005-05-03 07:25:09
假设类为Test
现有Test test1;
Test test2;
并且test1的一些变量已赋值,现想将test1赋给test2,但是如果用test2 = test1;那么如果在test2中修改一些变量,那么test1中的变量也会跟着改变。请问有没有其它好的赋值方式,可以解决这个问题,即可以简单的将test1赋给test2,同时在test2中修改变量,不会影响test1?
...全文
126 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
syfsz 2005-05-04
  • 打赏
  • 举报
回复
public class test
{
private int _index=0;
private string _str1="";

public test(int pindex)
{
_index=pindex;
}

public string Str1
{
set{_str1=value;}
}

public test Clone()
{
test lot = new test(_index)
lot.Str1=this._str1;
return lot;
}
}
boomzip 2005-05-03
  • 打赏
  • 举报
回复
wolfofsky(风之武)能不能具体点?“将Test类实现IClone接口进行深层克隆”应如何实现?这方面以前没有接触过。
Abel.Liu 2005-05-03
  • 打赏
  • 举报
回复
将Test类实现IClone接口进行深层克隆
boomzip 2005-05-03
  • 打赏
  • 举报
回复
yayupg(杨瑞) :你还是要一个相应的构造函数呀
EnergyYang 2005-05-03
  • 打赏
  • 举报
回复
Test test1 = new Test(...)
test2 = new Test(tes1)
改变test2就不回改变test1
EnergyYang 2005-05-03
  • 打赏
  • 举报
回复
你可以用深拷贝
kv4000 2005-05-03
  • 打赏
  • 举报
回复
尝试利用继承,test2继承于test1
boomzip 2005-05-03
  • 打赏
  • 举报
回复
wolfofsky(风之武) :可是Test类中并无Clone()方法
Abel.Liu 2005-05-03
  • 打赏
  • 举报
回复
test2=test1.Clone();

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧