在C#中,可以通过使用System.Runtime.Serialization命名空间中的DataContractSerializer类来实现对象的序列化和反序列化。 序列化对象示例代码
在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
类使用DataContract
和DataMember
属性来标记需要序列化的属性,然后通过DataContractSerializer
类将对象序列化为XML文件或从XML文件反序列化为对象。
版权声明
本文仅代表作者观点,不代表博信信息网立场。