怎样创建副本快捷键本

1077人阅读
c#中的类的实例都是引用类型,用简单的赋值运算符&=&无法创建它的副本,比如:
classa &a=new classa();
classa b=a;
a和b指向的是同一块内存。所以与我们的本意不符。我们的本意是想重新开辟内存以保存a的值。这时候可以使用object类的一个protect 方法& MemberwiseClone();由于是保护的方法,所以你要给自己的类创建一个clone方法。如下例:
&& public class ClassA:Object&&& {&&&&&&&&&&&& public& ClassA(int a)&&&&&&& {&&&&&&&&&&& ab =&&&&&&& }&&&&&& public ClassA clone()&&&&&& {&&&&&&&&&& return (ClassA)this.MemberwiseClone();&&&&&& }&&& }&&&&&&& private void button1_Click_1(object sender, EventArgs e)&&&&&&& {&&&&&&&&&&& ClassA a=new ClassA(15);&&&&&&&&&&& ClassA aa = new ClassA(12);&&&&&&&&&&& a = (ClassA)aa.clone();&&&&&&&&&&& aa.ab = 13;&&&&&&&&&&& MessageBox.Show(a.ab.ToString());&&&&& &&&&&&& }
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:108102次
排名:千里之外
评论:10条
(4)(4)(2)(2)

参考资料

 

随机推荐