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
类使用DataContract
和DataMember
属性来标记需要序列化的属性,然后通过DataContractSerializer
类将对象序列化为XML文件或从XML文件反序列化为对象。
下一篇:c++向下取整函数怎么使用
C#
webacc.exe是什么文件?webacc.exe是不是病毒
WINSYS.vbs是什么文件?WINSYS.vbs是不是病毒
winssh.exe是什么文件?winssh.exe是不是病毒
wt.exe是什么文件?wt.exe是不是病毒
winsysetm.exe是什么文件?winsysetm.exe是不是病毒
winstrve.exe是什么文件?winstrve.exe是不是病毒
winsysupd7.exe是什么文件?winsysupd7.exe是不是病毒
winsysupd.exe是什么文件?winsysupd.exe是不是病毒
winsysupd2.exe是什么文件?winsysupd2.exe是不是病毒
winsysupd8.exe是什么文件?winsysupd8.exe是不是病毒