2020-09-18【c#】深度拷贝

2020-09-18  本文已影响0人  持刀的要迟到了

需要对一个复杂的嵌套类结构进行深度拷贝,找到了一篇文章
https://www.cnblogs.com/zwq194/archive/2012/08/06/2625403.html
原理是通过序列化方式将对象序列化为二进制数据到一块新建内存;然后反序列化该二进制数据获得对象。
性能从理论上讲应该也是可以的。

        public object Clone() 
        { 
            BinaryFormatter Formatter = new BinaryFormatter(null, new StreamingContext(StreamingContextStates.Clone)); 
            MemoryStream stream = new MemoryStream(); 
            Formatter.Serialize(stream, this); 
            stream.Position = 0; 
            object clonedObj = Formatter.Deserialize(stream); 
            stream.Close(); 
            return clonedObj; 
        }
上一篇 下一篇

猜你喜欢

热点阅读