浅拷贝:当改变克隆对象的引用类型的值(注意是值!)时,同时会改变原对象对应的值,因为 都是同一个地址
例如:
但有时在新的对象中重新赋值的,我们并不想改变原来的对象的值,所以这是要用深拷贝
解决深拷贝,用引用Newtonsoft.Json,将对象序列化,再反序列化 可以解决此问题
public static T Copy<T>(T t) {
return JsonConvert.DeserializeObject<T>(JsonConvert.SerializeObject(t));
}
如: