一个变量在赋值给另一个变量时是共享赋值变量的值,那么是浅拷贝;一个变量在赋值给另一个变量时是复制赋值变量的值给被赋值变量,那么就是深拷贝。
简单来说,如果拷贝的时候共享引用的对象,就是浅拷贝;如果被引用的对象也被拷贝一份出来就是深拷贝。
using System;
namespace 一般讲解
{
class Program
{
static void Main(string[] args)
{
//初始化一个对象m1
MyObj m1 = new MyObj();
m1.Age = 10;
m1.Name = "Lei";
//初始化一个对象m2
MyObj m2 = m1;
m2.Name = "m2";
//初始化一个对象m3
MyObj m3 = new MyObj();
m3.Age = m1.Age; //深拷贝
m3.Name = m1.Name;//深拷贝
m3.Name = "m3";
Console.WriteLine(m1.Name);
Console.ReadKey();
}
}
class MyObj
{
public string Name { get; set; }
public int Age { get; set; }
}
}