c# stream的序列化操作怎么做

   2024-10-05 3360
核心提示:在C#中,可以使用BinaryFormatter类来对流进行序列化操作。以下是一个简单的示例代码,演示了如何使用BinaryFormatter类对对象进

在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类对数据进行反序列化操作,最终输出反序列化后的对象属性。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号