首页主机资讯C#中的序列化与反序列化

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

时间2024-08-22 20:28:03发布访客分类主机资讯浏览789
导读:序列化是将对象转换为可存储或传输的格式,例如字符串、字节流等。在C#中,常见的序列化方式包括XML序列化、JSON序列化和二进制序列化。 XML序列化使用XmlSerializer类来将对象序列化为XML格式的字符串,或将XML字符串反序列...

序列化是将对象转换为可存储或传输的格式,例如字符串、字节流等。在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对象。其他序列化方式的使用方法类似,只需替换相应的序列化类即可。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: C#中的序列化与反序列化
本文地址: https://pptw.com/jishu/695381.html
C#中的委托与事件如何关联 C#中的接口继承如何实现

游客 回复需填写必要信息