C#中的序列化与反序列化

   2024-10-01 6780
核心提示:序列化是将对象转换为可存储或传输的格式,例如字符串、字节流等。在C#中,常见的序列化方式包括XML序列化、JSON序列化和二进制

序列化是将对象转换为可存储或传输的格式,例如字符串、字节流等。在C#中,常见的序列化方式包括XML序列化、JSON序列化和二进制序列化。

XML序列化使用XmlSerializer类来将对象序列化为XML格式的字符串,或将XML字符串反序列化为对象。JSON序列化使用JavaScriptSerializer或Json.NET库来将对象序列化为JSON格式的字符串,或将JSON字符串反序列化为对象。二进制序列化使用BinaryFormatter类来将对象序列化为字节流,或将字节流反序列化为对象。

以下是一个示例,演示如何在C#中使用XmlSerializer进行序列化和反序列化:

using System;using System.IO;using System.Xml.Serialization;// 定义一个简单的类public class Person{    public string Name { get; set; }    public int Age { get; set; }}class Program{    static void Main()    {        // 创建一个Person对象        Person person = new Person        {            Name = "Alice",            Age = 30        };        // 创建XmlSerializer对象        XmlSerializer serializer = new XmlSerializer(typeof(Person));        // 将对象序列化为XML格式的字符串        StringWriter writer = new StringWriter();        serializer.Serialize(writer, person);        string xmlString = writer.ToString();        Console.WriteLine("Serialized XML:");        Console.WriteLine(xmlString);        // 将XML字符串反序列化为对象        StringReader reader = new StringReader(xmlString);        Person deserializedPerson = (Person)serializer.Deserialize(reader);        Console.WriteLine("Deserialized Person:");        Console.WriteLine($"Name: {deserializedPerson.Name}, Age: {deserializedPerson.Age}");    }}

以上示例演示了如何使用XmlSerializer类将Person对象序列化为XML字符串,并将XML字符串反序列化为Person对象。其他序列化方式的使用方法类似,只需替换相应的序列化类即可。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号