0
点赞
收藏
分享

微信扫一扫

解决MySQL幻读?可重复读隔离级别背后的工作原理

二进制序列化器:

在.NET中,可以使用BinaryFormatter来进行二进制序列化。这是一个.NET框架的序列化工具,可以将对象序列化为二进制格式,并可以将二进制数据反序列化为对象。

/// <summary>
/// 二进制序列化器、
/// 最节省流量,压缩程度最大的序列化器
/// </summary>
public static void BinarySerialize()
{
    //文件路径
    string fileName = "文件.txt";
    //需要一个stream,这里是直接把数据写入文件了
    using (Stream sm = new FileStream(fileName, FileMode.Create, FileAccess.Read))
    {
          //获取数据
          List<Programmer> pList = DataFactory.BuildProgrammerList();
           //创建二进制序列化器
           BinaryFormatter binformat = new BinaryFormatter();
           //写入文件
           binformat.Serialize(sm, pList);
    }
    //反序列化成对象,从文件中获取数据
    using(Stream sm = new FileStream(fileName, FileMode.Open, FileAccess.ReadWrite))
    {
            //创建二进制序列化器
            BinaryFormatter binformat = new BinaryFormatter();
            //重置流位置
            sm.Position = 0;
            //反序列化
            List<Programmer> pList = (List<Programmer>)binformat.Deserialize(sm);
      }
 }

XML序列化器:

在.NET中,可以使用System.Xml.Serialization命名空间下的XmlSerializer类来实现XML序列化。

/// <summary>
/// XML序列化器
/// </summary>
public static void XmlSerialize()
{
    //文件路径
    string filePath = "";
    using(Stream sm = new FileStream(filePath, FileMode.Create, FileAccess.Read))
    {
        List<Programmer> pList = DataFactory.BuildProgrammerList();
        //创建xml序列化器,需要指定对象的类型
        XmlSerializer xmlFormat = new XmlSerializer(typeof(List<Programmer>));
        //写入文件
        xmlFormat.Serialize(sm, pList);
    }
    using (Stream sm = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite))
    {
        //创建xml序列化器
        XmlSerializer xmlFormat = new XmlSerializer(typeof(List<Programmer>));
        //反序列化成对象
        List<Programmer> pList = (List<Programmer>)xmlFormat.Deserialize(sm);
    }
}    

SOAP序列化器:

在.NET中,SOAP(Simple Object Access Protocol)是用于交换结构化信息的协议,主要用于Web服务中。SOAP可以运行在HTTP或其他网络传输协议上,并使用XML来封装它的信息。

在.NET中,SOAP的序列化和反序列化通常是通过System.Runtime.Serialization.Formatters.Soap命名空间下的类来完成的。

/// <summary>
/// soap序列化器
/// </summary>
public static void SoapSerialize()
{
    //文件路径
    string filePath = "文件.txt";
    //需要一个Stream,这里直接把数据写入文件了
    using (Stream sm = new FileStream(filePath, FileMode.Create, FileAccess.Read))
    {
        //获取数据
        List<Programmer> pList = DataFactory.BuildProgrammerList();
        //创建soap序列化器
        SoapFormatter soapFormt = new SoapFormatter();
        //写入文件
        soapFormt.Serialize(sm, pList);
    }
    //反序列化
    using (Stream sm = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite))
    {
        //创建soap序列化器
        SoapFormatter soapFormat = new SoapFormatter();
        //序列化成对象
        List<Programmer> pList = (List<Programmer>)soapFormat.Deserialize(sm);
    }
}

JSON序列化器:

Newtonsoft.Json是.NET生态系统中最流行和广泛使用的JSON序列化和反序列化工具。它具有丰富的功能和灵活的API,支持自定义序列化和反序列化过程。它的性能表现良好,具有广泛的社区支持。

List<User> userList = new List<User>();
userList.Add(new User { Id = 1, Name = "test1", Age = 20 });
userList.Add(new User { Id = 2, Name = "test2", Age = 30 });
//Json
{
    //序列化
    string userListJson = JsonConvert.SerializeObject(userList);
    Console.WriteLine($"json:{userListJson}");

    //反序列化
    List<User> desrialUserList = JsonConvert.DeserializeObject<List<User>>(userListJson);
}
举报

相关推荐

0 条评论