C# 深拷贝和浅拷贝
在编码中。经常会遇到赋值操作。值类型就不说了。如果是引用类型赋值。其实是引用传递,即赋值的是一个引用。比如:
Person p1 = new Person("张三", "北京"); Person p2 = p1; p2.name = "李四"; //此时,p1.name和p2.name 都被改变为 李四
当把p1赋值给p2时,那么p1和p2指向同一个地址。所有当改变p2对象的name的时候,会直接影响到p1的name
aaarticlea/png;base64,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" alt="" />
这就是值类型和引用类型的区别
那么这个跟深拷贝和浅拷贝有什么区别呢?
首先看看深拷贝(Deep Copy)和浅拷贝(Shallow Copy)的区别。(知识来源于网络)
基本类型属性 | 引用类型属性 | 引用类型备注 | |
浅拷贝 | 拷贝值 | 拷贝引用,指向原引用的地址 | 如果修改引用的属性,都会影响另外一个对像 |
深拷贝 | 拷贝值 | 拷贝引用和引用的内容,并创建新的实例,指向新的地址 | 可以理解,创建一个新的对象,把原对象的内容复制到新对象中 |
深拷贝:
指的是拷贝一个对象时,不仅仅把对象的引用进行复制,还把该对象引用的值也一起拷贝。这样进行深拷贝后的拷贝对象就和源对象互相独立,其中任何一个对象的改动都不会对另外一个对象造成影响。举个例子,一个人叫张三,然后使用克隆技术以张三来克隆另外一个人叫李四,这样张三和李四就是相互独立的,不管张三缺胳膊还是李四少腿了都不会影响另外一个人
浅拷贝:
指的是拷贝一个对象时,仅仅拷贝对象的引用进行拷贝,但是拷贝对象和源对象还是引用同一份实体。此时,其中一个对象的改变都会影响到另一个对象。例如,一个人一开始叫张三,后来改名字为张老三了,可是他们还是同一个人,不管张三缺胳膊还是张老三少腿,都反应在同一个人身上。在.NET中引用类型就是一个例子。
我们来改造下Person类,加个Clone 方法
public class Person
{
public string name { get; set; }
public string address { get; set; } public Person(string name, string address)
{
this.name = name;
this.address = address;
} public object Clone()
{
return this.MemberwiseClone();
}
}
F12看看MemberwiseClone的解释
aaarticlea/png;base64,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" alt="" />
测试代码,ok,通过浅拷贝的方式。发现。改变p2.name。p1是不受影响的,有人会问。上面的那个表格
明明说了:如果修改引用的属性,都会影响另外一个对像, 稍后再看
aaarticlea/png;base64,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4HTcWd1mFpdRlhmrJks34141vhhS08/GsOSif8XboD9M217hnl56kfKHfDK5/s0Sk2dUQsww3Az7eYRK4s6UiUGFjSyfcXRMZudsmBw/flxdNindJCO4rW81DPW7h6HX6/dDuYWTbkzbzjD0ev3h5P5wmIYFJR/kz944VU2NO89Vjx490pa5du3aH1OXL182bicLOtnLVUpgk8fkjlVaOyzEnWYvBN3gdNxZ4eoOJJ2MO51TXjdSFssDk/mqyu4zfiP6kydPTpw4YYw7Ozs76lTlZJiWwkkh8AzDYgoZhtlK434vm7OS9XXy7QzDLMXIYSFvkMmbb942m726s7+//+GHH168ePHSpUtff/11ydbydCaRdjvNNHkaIu5AQdyB05RukTM1LTf3Cgszl7ijDtVK4DDlH1HIKCX1HXlJ08+F7NCswFOSEpIuXjZxu2Sq8v7+/ieffFKedXSFVlaaafIYKKSSVo+4A8fjzuo2swA4TBsdi1nnzTffzNpYOzs7hQ2UxR1L1hHmuDPu97Jx31y8scSdecwLKp/DdOLEiWfPns38JAXjfs9whMb9XhiaXxbVHQjheNyhugPAQcXRUc468inownzFHWXElv6hFCekZbO+VCHuSPdJ25kWd9RMNQwbngJmSwlbW1tzzDrGNlahp1WSaYg7EIK4AwB1yaOjNkM5yTrTLio47ve8MCzMVNYH9qx+Y487UiOrF4ZVqzvC0ACb8TjItra2jqSukzCnl6qXGXzxu9+9eOONWrcff/azo3otWCCn485qNrNoogGOs8WdallHtOOiOhUspyhijTtVqzsvfvObWnHn5R//eDSvBAvldNyhugPAQSXDfLUviyDuNJEVcGacd3T49OmPP/1p9bhz+O2383oJWCLiDgDUYzwzq863YhF3luzw6dMf19erJp5f//rw6dNl7zJm5XTcoZkFwEHtHebnq9XH4fCLL6onnh83Nl5evLjsXcZMnI47VHcAOKjVw/wctf04vLp5s9605bffPvzuu2XvNRoi7gBAPW0f5uelA8fh1Wef1TtLizJPazkdd2hmAXBQB4Z5ZJqdmn74xRfL3nHU43TcoboDwEEPHjxY9i5gnp7+y7/UTTwv3njj5b/927J3HDUQdwCgnidPnty/f/9LdML9+/cPHj6sdWp6Xub5yU9e/fnPy/48ohKn4w7NLADAAtQ7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" alt="" />
既然有浅拷贝,那么就有深拷贝,不过C#并没有像提供MemberwiseClone()方法一样提供一个深拷贝的方法。
深拷贝。一般是通过反序列化或者反射。或者直接new一个新的对象,new一个新的对象。简单 Person p3 = new Person();
看看反序列化的深拷贝,在person类添加深拷贝方法
/// <summary>
/// 深拷贝
/// </summary>
/// <returns></returns>
public object DeepCopy()
{
BinaryFormatter bFormatter = new BinaryFormatter();
MemoryStream stream = new MemoryStream();
bFormatter.Serialize(stream, this);
stream.Seek(, SeekOrigin.Begin);
return (Person)bFormatter.Deserialize(stream); }
然后修改测试代码, Person p2 = (Person)p1.DeepCopy(); 运行。发现有错误,标记类为可序列化即可 [Serializable]关键字
aaarticlea/png;base64,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" alt="" />
好了。测试看看效果
aaarticlea/png;base64,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" alt="" />
通过上面的 浅拷贝,和深拷贝结果对比。是不是发现结果一样。改变p2的值不会影响到p1的值。只是颜色变了而已(其实这里颜色变化是有玄机的)
刚开始。我也有点迷惑。其实深拷贝和浅拷贝之间的区别在于是否复制了子对象。
上面的Person类的两个属性:name和address都是string。大家知道。string在C#中是特殊的引用类型。它的值是只读的
所以在上面的测试中用了浅拷贝和深拷贝,然后改变p2的值也不会影响p1的值。不知道我这样说是否说明白了
所以我为了了测试。在person中加个引用类型的变量。也就是类类型 Room
那么既然是子对象(这里说的子对象,其实也就是说类的属性是一个对象)。就在person中加个子对象。创建一个新的Room类
public class Room
{
public int roomId { get; set; }
public string roomName { get; set; } public Room(int rId,string rName)
{
this.roomId = rId;
this.roomName = rName;
}
}
在person中新增字段和构造函数
public Room room { get; set; } public Person(string name, string address, Room room)
{
this.name = name;
this.address = address;
this.room = room;
}
先用Clone() 方法。Clone方法是浅拷贝
aaarticlea/png;base64,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" alt="" />
上面是浅拷贝 当拷贝一个对象时,仅仅拷贝对象的引用进行拷贝,但是拷贝对象和源对象还是引用同一份实体。
此时,其中一个对象的改变都会影响到另一个对象,因为p1和p2的Room都指向同一个实体,当改变p1的roomId时候
直接影响到了p2的roomId。
下面用一个图来说明浅拷贝原理。(注:图片来源于网络)
然后用 DeepCopy() 方法 DeepCopy 是 深拷贝
aaarticlea/png;base64,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" alt="" />
上面是浅拷贝 当拷贝一个对象时,不仅仅把对象的引用进行复制,还把该对象引用的值也一起拷贝。
这样进行深拷贝后的拷贝对象就和源对象互相独立,其中任何一个对象的改动都不会对另外一个对象造成影响
所以。就算你怎么改变p1中roomId的值,p2 的roomId也不会受影响
下面用一个图来说明深拷贝原理。(注:图片来源于网络)
浅拷贝与赋值操作
大多数面向对象语言中的赋值操作都是传递引用,即改变对象的指针地址,而并没有复制内存,
也没有做任何复制操作。由此可知,浅拷贝与赋值操作的区别是顶级对象的复制与否。
当然,也有一些例外情况,比如类型定义中重载赋值操作符(assignment operator),
或者某些类型约定按值传递,就像C#中的结构体和枚举类型。
网络供图
拷贝一个对象时,不仅仅把对象的引用进行复制,还把该对象引用的值也一起拷贝。这样进行深拷贝后的拷贝对象就和源对象互相独立,
其中任何一个对象的改动都不会对另外一个对象造成影响
仔细对比下。两个截图的结果。不难发现。
深拷贝时两个对象是完全“分离”的,改变其中一个,不会影响到另一个对象;浅拷贝时两个对象并未完全“分离”,改变顶级对象的内容,
不会对另一个对象产生 影响,但改变子对象的内容,则两个对象同时被改变。这种差异的产生,即是取决于拷贝子对象时复制内存还是复制指针。
深拷贝为子对象重新分配了一段内存空 间,并复制其中的内容;浅拷贝仅仅将指针指向原来的子对象。
参考资料:
http://www.cnblogs.com/qingteng1983/archive/2010/10/10/1847511.html
http://frankxulei.blog.51cto.com/1596834/318538/
http://www.cnblogs.com/liuconglin/p/6411259.html
http://www.cnblogs.com/ysyn/archive/2013/12/25/3490124.html
www.cnblogs.com/tinya/p/4511120.html
http://www.cnblogs.com/zhili/p/DeepCopy.html
dapper
C# 深拷贝和浅拷贝的更多相关文章
- C#设计模式:原型模式(Prototype)及深拷贝、浅拷贝
原型模式(Prototype) 定义: 原型模式:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象.被复制的实例被称为原型,这个原型是可定制的. Prototype Pattern也是一 ...
- Objective-C中的深拷贝和浅拷贝
在Objective-C中对象之间的拷贝分为浅拷贝和深拷贝.说白了,对非容器类的浅拷贝就是拷贝对象的地址,对象里面存的内容仍然是一份,没有新的内存被分配.对非容器类的深拷贝就是重写分配一块内存,然后把 ...
- $.extend()的深拷贝和浅拷贝详细讲解
版权声明:作者原创,转载请注明出处! 语法:jQuery.extend( [deep ], target, object1 [, objectN ] ) 描述: 将两个或更多对象的内容合并到第一个对象 ...
- JavaScript中面向对象的的深拷贝和浅拷贝
理解深拷贝和浅拷贝之前需要弄懂一些基础概念,内存中存储的变量类型分为值类型和引用类型. 1.值类型赋值的存储特点, 将变量内的数据全部拷贝一份, 存储给新的变量. 例如:var num = 123 : ...
- C++深拷贝与浅拷贝
当用一个已初始化过了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝构造函数就会被自动调用.也就是说,当类的对象需要拷贝时,拷贝构造函数将会被调用.以下情况都会调用拷贝构造函数: (1)一个对 ...
- C++的深拷贝与浅拷贝
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量.下面是一个类对象拷贝的简单例子. #i ...
- Python赋值语句与深拷贝、浅拷贝的区别
参考:http://stackoverflow.com/questions/17246693/what-exactly-is-the-difference-between-shallow-copy-d ...
- [C#进阶系列]专题一:深入解析深拷贝和浅拷贝
一.前言 这个星期参加了一个面试,面试中问到深浅拷贝的区别,然后我就简单了讲述了它们的之间的区别,然后面试官又继续问,如何实现一个深拷贝呢?当时只回答回答了一种方式,就是使用反射,然后面试官提示还可以 ...
- 也来玩玩 javascript对象深拷贝,浅拷贝
经常看到讨论c#深拷贝,浅拷贝的博客,最近js写的比较多, 所以也来玩玩js的对象拷贝. 下面是维基百科对深浅拷贝的解释: 浅拷贝 One method of copying an object is ...
- OC中的深拷贝与浅拷贝
深拷贝(deep copy)与浅拷贝(shallow copy)的定义一直是有争论的. 一种理解是: 所谓的浅拷贝, 就是不完全的拷贝 NSString *s = @"123"; ...
随机推荐
- tar命令参数详解
命令总览:tar [-]A --catenate --concatenate | c --create | d --diff --compare | r --append | t --list | u ...
- Django:模型model和数据库mysql(二)
上一篇把简单的模型与数据库的搭建写了一遍,但模型中有很多深入好用的写法补充一下. 同样的栗子,建立新的模型与数据库来写一写 1.依然是搭建环境 >>>django-admin sta ...
- c#如何调用另外一个项目的类
添加引用即可. 参考资料: https://zhidao.baidu.com/question/241402877.html http://blog.csdn.net/a1027/article/de ...
- scala-高阶函数
//1类似于lambda表达式的函数直接量====================== var get = (name: String) => { println(123 + name) } g ...
- python之文件操作示例
方法一: with open("e:\\gloryroad.txt","a+",encoding="utf-8") as file: fil ...
- NOIP2009靶形数独
题目描述: 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向 Z 博士请教,Z 博士拿出了他最近发明的“ ...
- C语言课堂题集
1.输入一个整数,然后将其数字位置颠倒. int c,d=0,e; scanf("%d",&c); while (c!=0) { e=c%10; d=d*10+e; c/= ...
- 【托业】【新托业TOEIC新题型真题】学习笔记10-题库七-P7
1.to request a review of information 要求审查资料 2.inform of 将…告知(某人); 3.flammable [ˈflæməbl]adj.易燃的,可燃的; ...
- logback logback.xml常用配置详解(二)<appender>
转自:http://aub.iteye.com/blog/1101260 logback 常用配置详解(二) <appender> <appender>: <append ...
- Laravel展示产品-CRUD之show
上一篇讲了Laravel创建产品-CRUD之Create and Store,现在我们来做产品展示模块,用到是show,①首先我们先修改controller,文件是在/app/Http/Control ...