C#类的序列化与反序列化

   2024-10-01 2530
核心提示:在 C# 中,可以使用序列化和反序列化来将对象转换为字节流或将字节流转换为对象。这些操作可以帮助我们在不同系统之间传输对象或

在 C# 中,可以使用序列化和反序列化来将对象转换为字节流或将字节流转换为对象。这些操作可以帮助我们在不同系统之间传输对象或将对象保存到文件中。

以下是一个简单的示例,展示如何在 C# 中进行类的序列化和反序列化:

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 = "Alice", Age = 30 };        // 序列化对象        IFormatter formatter = new BinaryFormatter();        using (Stream stream = new FileStream("person.dat", FileMode.Create, FileAccess.Write, FileShare.None))        {            formatter.Serialize(stream, person);        }        // 反序列化对象        using (Stream stream = new FileStream("person.dat", FileMode.Open, FileAccess.Read, FileShare.Read))        {            Person deserializedPerson = (Person)formatter.Deserialize(stream);            Console.WriteLine($"Name: {deserializedPerson.Name}, Age: {deserializedPerson.Age}");        }    }}

在上面的示例中,我们定义了一个 Person 类,并对其进行了序列化和反序列化操作。序列化使用 BinaryFormatter 类,将 Person 对象保存到文件中。反序列化则是通过将文件中的字节流转换回 Person 对象。

需要注意的是,要使一个类可以序列化,需要在类的定义上加上 [Serializable] 特性。除了使用 BinaryFormatter 进行序列化和反序列化外,还可以使用其他序列化方式,如 XML 序列化、JSON 序列化等。

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

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