C#对象复制

浅复制
//实现ICloneable接口
[Serializable]
public class EntityInfo : ICloneable
{
        //...其他方法省略

        /// <summary>
        /// 返回一个浅表副本
        /// </summary>
        /// <returns></returns>
        public virtual Object Clone()
        {
            return this.MemberwiseClone();//调用object的克隆方法
        }
}
深复制
      
[Serializable]
public class EntityInfo:ICloneable
{
    //...其他方法省略
    //使用序列化实现深复制
    public virtual Object Clone()
    {
        MemoryStream stream = new MemoryStream();
        BinaryFormatter formatter = new BinaryFormatter();
        formatter.Serialize(stream, this);
        stream.Position = 0;
        return formatter.Deserialize(stream);
    }
}

你可能感兴趣的:(深复制,浅复制,C#对象复制,C#对象克隆)