Linux 拨号vps windows公众号手机端

C#中怎么实现对象的序列化和反序列化

lewis 9年前 (2016-11-23) 阅读数 11 #程序编程
文章标签 c#

在C#中,可以通过使用System.Runtime.Serialization命名空间中的DataContractSerializer类来实现对象的序列化和反序列化。

序列化对象示例代码:

using System;
using System.IO;
using System.Runtime.Serialization;

[DataContract]
public class Person
{
    [DataMember]
    public string Name { get; set; }
    
    [DataMember]
    public int Age { get; set; }
}

class Program
{
    static void Main()
    {
        Person person = new Person { Name = "Alice", Age = 30 };

        DataContractSerializer serializer = new DataContractSerializer(typeof(Person));
        using (FileStream stream = new FileStream("person.xml", FileMode.Create))
        {
            serializer.WriteObject(stream, person);
        }
    }
}

反序列化对象示例代码:

using System;
using System.IO;
using System.Runtime.Serialization;

class Program
{
    static void Main()
    {
        DataContractSerializer serializer = new DataContractSerializer(typeof(Person));
        using (FileStream stream = new FileStream("person.xml", FileMode.Open))
        {
            Person person = (Person)serializer.ReadObject(stream);
            Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
        }
    }
}

以上代码中,Person类使用DataContractDataMember属性来标记需要序列化的属性,然后通过DataContractSerializer类将对象序列化为XML文件或从XML文件反序列化为对象。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门