对象之间的引用传递 之 .NET中的深拷贝和浅拷贝
1.场景
首先,场景是这样的。 有一个Person类,类中有一个类型是Car的属性。用于表述,人开的车。
Car类中有一些描述诸如汽车拼盘之类的属性。基本场景就是这样。
2.浅拷贝
Person p1 = new Person();
p1.DaiBu = new Car(){Brand ="奥迪A6"}; //设置p1的代步工具。
Person p2 =new Person();
//此时我们说,发生了浅拷贝。其实就是普通的 对象间的引用传递。
p2.DaiBu = p1.DaiBu;
3.深拷贝
//那么什么是深拷贝呢?
Person p2 =new Person();
//这样做 就是深拷贝!
p2.DaiBu =new Car(){Brand = p1.DaiBu.Brand};
4.演示图
//那么深拷贝与浅拷贝之间有什么区别呢? 我们用一张图来说明!
作者:大黑兔
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.