本文摘自PHP中文网,作者零下一度,侵删。
克隆对象在开发过程中经常会遇到,有些时候需要浅克隆,有些时候需要深克隆,具体它们之间有什么区别,以及实现方式有哪些,在这里总结一下。 实现深克隆有以下几种方法。
手动
代码如下:
1 2 3 4 5 6 7 8 9 10 | var user2 = new User
{
Id = user1.Id,
Name = new UserName
{
FirstName= user1.Name.FirstName,
LastName= user1.Name.LastName
}
};
|
反射
代码如下:
扩展方法:
1 | 1 public static class DeepCopyHelper 2 { 3 public static object Copy (this object obj) 4 { 5 Object targetDeepCopyObj; 6 Type targetType = obj. GetType (); 7
|
View Code
序列化
代码如下:
扩展方法:
View Code
其它还有使用表达式。
总结:
手动复制性能最好,但是遇到很复杂的类的时候,工作量很大。
反射和序列化比起来,序列化更简单。
以上就是克隆对象的方法实例教程的详细内容!
相关阅读 >>
几种ria技术介绍
使用一个wpf程序起调一个uwp程序
分享一个request对象小案例
uwp中设置控件样式四种方法
克隆对象的方法实例教程
c#中实现复制与删除文件的方法
总结用表达式数调用的实例代码
简单介绍c#中list<t>对象的深度拷贝问题
有关.net mvc长轮询的实现方法
c#中关于扩展方法的实例分析
更多相关阅读请进入《方法》频道 >>
清华大学出版社
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。
转载请注明出处:木庄网络博客 » 克隆对象的方法实例教程