在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對象。最后,我們輸出反序列化后的對象的屬性值。