C#对象深copy
众所周知,.net中的类是引用型对象,直接采用A=B的方式进行复制对象其实是添加B对象对A对象的引用,当B对象修改时A对象也将被修改,所以需要重新创建一个对象B并且让B与A相等
这里提供一种方式提供对象的Copy
public static T CloneOf<T>(T serializableObject) { object objCopy = null; MemoryStream stream = new MemoryStream(); BinaryFormatter binFormatter = new BinaryFormatter(); binFormatter.Serialize(stream, serializableObject); stream.Position = 0; objCopy = (T)binFormatter.Deserialize(stream); stream.Close(); return (T)objCopy; }