c#的各种深浅复制
来源:互联网 发布:数组和指针的区别 知乎 编辑:程序博客网 时间:2024/06/07 06:00
c#中,对于对象的复制给出如下渐进式的设计
public class Content {
public int Val = 0;
}
public class Cloner {
public Content MyContent = new Content();
public Cloner() {
}
public object GetCopy() {
return MemberwiseClone ();
}
}
即利用MemberwiseClone来做,但是本函数只是生成新的Cloner之后,将成员值一一对应的复制过去,新的跟旧的指向了同一个Content
为了达到深复制,如下:
public class Content {
public int Val = 0;
}
public class Cloner:ICloneable {
public Content MyContent = new Content();
public Cloner(int val) {
MyContent.Val = val;
}
public object Clone() {
Cloner clonedCloner = new Cloner (MyContent.Val);
return clonedCloner;
}
}
当然其也有可能需要递归调用内部各个成分的Clone函数
- c#的各种深浅复制
- c#深浅复制
- 深浅复制的区别
- 深浅复制产生的根本原因
- NSString深浅复制的见解
- 引用类型的深浅复制
- 深浅复制
- 深浅复制
- 深浅复制
- 深浅复制
- 深浅复制
- 深浅复制
- 深浅复制
- php中系统对象的深浅复制
- 数组与对象的深浅复制
- opencv Mat矩阵的“深浅”复制
- Mat图像的深浅复制区别
- C#实现各种格式文件的复制
- PAT1002---A+B for Polynomials
- 创业者应该回答的15个问题
- C++ Vector 使用总结
- Add Additional Objects to JSON Encoded Array
- 最全英文停用词表整理(891个)
- c#的各种深浅复制
- [WebKit]RefPtr和PassRefPtr基础
- 复合主键映射(联合主键) .
- animate简单总结
- 九月份总结
- java类与对象的区别
- vim编码方式配置的学习和思考
- Linux增加分区大小
- 杀进程:App主动杀(Process.killProcess),内存不够内核杀(LowMemoryKiller),手动停止(killPackageProcesses),最近任务(removeTask)