阅读量:0
在C#中,可以使用BinaryFormatter
类来对流进行序列化操作。以下是一个简单的示例代码,演示了如何使用BinaryFormatter
类对对象进行序列化操作:
using System; using System.IO; using System.Runtime.Serialization.Formatters.Binary; [Serializable] class Person { public string Name { get; set; } public int Age { get; set; } } class Program { static void Main() { Person person = new Person { Name = "Alice", Age = 30 }; // 创建内存流 using (MemoryStream stream = new MemoryStream()) { // 创建BinaryFormatter对象 BinaryFormatter formatter = new BinaryFormatter(); // 对对象进行序列化操作 formatter.Serialize(stream, person); // 将序列化后的数据写入文件 File.WriteAllBytes("person.dat", stream.ToArray()); } // 从文件中读取序列化后的数据 byte[] data = File.ReadAllBytes("person.dat"); // 创建内存流 using (MemoryStream stream = new MemoryStream(data)) { // 创建BinaryFormatter对象 BinaryFormatter formatter = new BinaryFormatter(); // 对数据进行反序列化操作 Person deserializedPerson = (Person)formatter.Deserialize(stream); // 输出反序列化后的对象属性 Console.WriteLine($"Name: {deserializedPerson.Name}, Age: {deserializedPerson.Age}"); } } }
在上面的示例中,我们首先定义了一个Person
类,然后创建一个MemoryStream
对象,并使用BinaryFormatter
类对Person
对象进行序列化操作,将序列化后的数据写入文件。接着,我们从文件中读取序列化后的数据,并使用BinaryFormatter
类对数据进行反序列化操作,最终输出反序列化后的对象属性。