温馨提示×

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

c#
小亿
86
2024-06-07 15:03:53
栏目: 编程语言

在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对象。最后,我们输出反序列化后的对象的属性值。

0