深拷贝-浅拷贝的概念就不说了,基础的东西! 实现如下:
public class Person { public string Name { get; set; } public Car Car { get; set; } public Person ShallowClone() { //一句话实现浅拷贝。Object的方法 return this.MemberwiseClone() as Person; //MemberwiseClone的作用就是把当前对象浅拷贝一份。 } //通过序列化与反序列化会将当前对象实现一次深拷贝 public Person DeepClone() { //类需要Serializable BinaryFormatter bf = new BinaryFormatter(); using (MemoryStream ms = new MemoryStream()) { bf.Serialize(ms, this); ms.Position = 0; return bf.Deserialize(ms) as Person; } } } public class Car { public string Color { get; set; } }