csharp 深层拷贝序列化持久

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 深层拷贝序列化持久相关的知识,希望对你有一定的参考价值。

static object DeepCopy(object src)
{
    BinaryFormatter Formatter = new BinaryFormatter(null, new StreamingContext(StreamingContextStates.Clone));
    using (MemoryStream stream = new MemoryStream())
    {
        Formatter.Serialize(stream, src);
        stream.Position = 0;
        return Formatter.Deserialize(stream);
    }
}
/// <summary>
/// 处理结果。
/// </summary>
public class ProcessResultDTO
{
    public bool IsSucceed { get; set; }
    public string Message { get; set; }
    public object Data { get; set; }
}

var dto = JsonConvert.DeserializeObject<ProcessResultDTO>(str);
Album album = (dto.Data as JToken).ToObject<Album>();

以上是关于csharp 深层拷贝序列化持久的主要内容,如果未能解决你的问题,请参考以下文章

java 中对象赋值 是浅拷贝还是深层拷贝

深层拷贝与浅层拷贝

链表的深层拷贝,拷贝结点及结点的指向

#私藏项目实操分享# Java深层系列「技术盲区」让我们一起探索一下Netty(Java)底层的“零拷贝Zero-Copy”技术(上)

201671010110 2016-2017 2《java程序设计》

JavaScript数组常用方法解析和深层次js数组扁平化