zoukankan      html  css  js  c++  java
  • C#深度拷贝(Deep Copy)

    Hashtable和ArrayList等经常需要深度拷贝,而.Net没有现成的函数可以调用,

    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;
            }

    继承了Clonable接口之后,像这样重写Clone()方法就可以了,他利用了序列化和反序列化的原理,将序列化的流丢入内存,再从内存中反序列化回来就OK了!

  • 相关阅读:
    Poj3295 tautology
    Poj2586 每五个月都是亏
    Poj 2109 k^n = p.
    Poj2109 (2) k^n = p.
    Poj2109 (1) k^n = p.
    Poj2965 冰箱的开关
    Poj1328 用雷达覆盖所有的岛屿
    FASTER-RCNN
    卷积、池化计算
    理论感受野的计算
  • 原文地址:https://www.cnblogs.com/boneking/p/1326209.html
Copyright © 2011-2022 走看看