阅读量:0
在C#中,要对类进行序列化操作,首先需要确保类实现了Serializable
接口。Serializable
接口是一个标记接口,没有任何方法需要实现。它告诉序列化系统该类的对象可以被序列化。
下面是一个简单的示例,演示了如何对一个包含属性和实现了Serializable
接口的类进行序列化:
using System; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; [Serializable] public class Person { public string Name { get; set; } public int Age { get; set; } } class Program { static void Main() { Person person = new Person { Name = "John Doe", Age = 30 }; // 序列化对象 IFormatter formatter = new BinaryFormatter(); using (FileStream fileStream = new FileStream("person.bin", FileMode.Create)) { formatter.Serialize(fileStream, person); } // 反序列化对象 using (FileStream fileStream = new FileStream("person.bin", FileMode.Open)) { Person deserializedPerson = (Person)formatter.Deserialize(fileStream); Console.WriteLine($"Name: {deserializedPerson.Name}, Age: {deserializedPerson.Age}"); } } }
在这个示例中,我们创建了一个名为Person
的类,并为其添加了Name
和Age
属性。然后,我们使用BinaryFormatter
类将Person
对象序列化到名为person.bin
的文件中。接下来,我们从该文件中反序列化Person
对象,并将其输出到控制台。
需要注意的是,BinaryFormatter
类已经过时,可能在未来的.NET版本中被移除。在实际项目中,建议使用其他序列化库,如Json.NET
(现已被命名为Newtonsoft.Json)或System.Text.Json
。这些库提供了更多的功能和更好的性能。