c#二进制序列化怎么实现

c#
516
2024/5/9 15:03:53
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C#中实现二进制序列化可以使用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 = 25 };

        // 创建一个内存流
        MemoryStream stream = new MemoryStream();

        // 创建BinaryFormatter实例
        BinaryFormatter formatter = new BinaryFormatter();

        // 使用BinaryFormatter序列化对象到流中
        formatter.Serialize(stream, person);

        // 将流转换为字节数组
        byte[] data = stream.ToArray();

        // 反序列化数据
        stream.Position = 0;
        Person deserializedPerson = (Person)formatter.Deserialize(stream);

        Console.WriteLine("Name: " + deserializedPerson.Name);
        Console.WriteLine("Age: " + deserializedPerson.Age);
    }
}

在上面的示例中,我们创建了一个名为Person的可序列化类。然后,我们实例化一个Person对象并将其序列化到内存流中。接着,我们将流转换为字节数组,并将其重新反序列化为一个新的Person对象。最后,我们输出反序列化后的对象的属性值。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 你知道C#如何在后台静默运行窗口吗