溫馨提示×

c#二進制序列化怎么實現(xiàn)

c#
小億
113
2024-06-07 15:03:53
欄目: 編程語言

在C#中實現(xiàn)二進制序列化可以使用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 };

        // 創(chuàng)建一個內(nèi)存流
        MemoryStream stream = new MemoryStream();

        // 創(chuàng)建BinaryFormatter實例
        BinaryFormatter formatter = new BinaryFormatter();

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

        // 將流轉(zhuǎn)換為字節(jié)數(shù)組
        byte[] data = stream.ToArray();

        // 反序列化數(shù)據(jù)
        stream.Position = 0;
        Person deserializedPerson = (Person)formatter.Deserialize(stream);

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

在上面的示例中,我們創(chuàng)建了一個名為Person的可序列化類。然后,我們實例化一個Person對象并將其序列化到內(nèi)存流中。接著,我們將流轉(zhuǎn)換為字節(jié)數(shù)組,并將其重新反序列化為一個新的Person對象。最后,我們輸出反序列化后的對象的屬性值。

0