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;
}
浙公网安备 33010602011771号