C# —— 序列化与反序列化

概念

序列化

通过使用不同的类(BinaryFormatter,SoapFormatter,XmlSerializer)将对象状态转换为可保持或传输的格式的过程,具体是将对象转变为字节流,其目的是为了保存数据的状态,方便后续还原调用。包括三种序列化形式:二进制序列化,SOAP序列化,XML序列化。于此过程相反,将序列化文件转换为对象的过程称为反序列化。

区别

  1. 二进制和SOAP格式可序列化所有可序列化字段,包括公共字段和私有字段。XML格式则可以序列化公共字段或拥有公共属性的私有字段。
  2. SoapFormatter 和 BinaryFormatter支持远程过程调用,可对图形进行序列化。

作用

1、在程序启动时读取上次序列化的信息,常用于存储和 socket 传输。
2、在不同的进程之间传递数据,比如可以在Web 间传递数据,跨域传递,ASP .NET 后台代码往前端传递数据。

二进制序列化

先借用一个demo:

using System.Collections;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization;

namespace 序列化
{
    [Serializable]
    public class SerializeObject
    {
        public int ID
        {
            get;
            set;
        }

  

猜你喜欢

转载自blog.csdn.net/baidu_35536188/article/details/113927929