学堂 学堂 学堂公众号手机端

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

lewis 2年前 (2023-11-02) 阅读数 5 #技术

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

序列化对象示例代码:

usingSystem; usingSystem.IO; usingSystem.Runtime.Serialization; [DataContract] publicclassPerson { [DataMember] publicstringName{get;set;} [DataMember] publicintAge{get;set;} } classProgram { staticvoidMain() { Personperson=newPerson{Name="Alice",Age=30}; DataContractSerializerserializer=newDataContractSerializer(typeof(Person)); using(FileStreamstream=newFileStream("person.xml",FileMode.Create)) { serializer.WriteObject(stream,person); } } }

反序列化对象示例代码:


usingSystem; usingSystem.IO; usingSystem.Runtime.Serialization; classProgram { staticvoidMain() { DataContractSerializerserializer=newDataContractSerializer(typeof(Person)); using(FileStreamstream=newFileStream("person.xml",FileMode.Open)) { Personperson=(Person)serializer.ReadObject(stream); Console.WriteLine($"Name:{person.Name},Age:{person.Age}"); } } }

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

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门