91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C#序列化與反序列化怎么實現

c#
小億
83
2024-01-31 09:35:40
欄目: 編程語言

在 C# 中,可以使用序列化和反序列化來將對象轉換為字節流或字符串,以便在不同的應用程序之間進行傳輸或存儲。

要實現序列化和反序列化,需要使用 System.Runtime.Serialization 命名空間中的相關類和接口。以下是一個簡單的示例,展示了如何在 C# 中實現序列化和反序列化:

  1. 定義一個可序列化的類,該類必須標記為 [Serializable] 屬性,以指示它可以被序列化。
[Serializable]
public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}
  1. 使用 System.Runtime.Serialization.Formatters.Binary 命名空間中的 BinaryFormatter 類進行序列化和反序列化。
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

public class Program
{
    public static void Main(string[] args)
    {
        // 創建一個 Person 對象
        Person person = new Person
        {
            Name = "John",
            Age = 30
        };

        // 序列化對象
        byte[] serializedData = SerializeObject(person);

        // 反序列化對象
        Person deserializedPerson = DeserializeObject<Person>(serializedData);

        // 輸出反序列化后的對象的屬性值
        Console.WriteLine($"Name: {deserializedPerson.Name}");
        Console.WriteLine($"Age: {deserializedPerson.Age}");
    }

    // 序列化對象
    public static byte[] SerializeObject<T>(T obj)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        using (MemoryStream memoryStream = new MemoryStream())
        {
            formatter.Serialize(memoryStream, obj);
            return memoryStream.ToArray();
        }
    }

    // 反序列化對象
    public static T DeserializeObject<T>(byte[] data)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        using (MemoryStream memoryStream = new MemoryStream(data))
        {
            return (T)formatter.Deserialize(memoryStream);
        }
    }
}

在上述示例中,首先定義了一個可序列化的 Person 類。然后,在 Main 方法中創建了一個 Person 對象,并將其序列化為字節數組。接下來,使用 DeserializeObject 方法將字節數組反序列化為 Person 對象,并輸出其屬性值。

請注意,上述示例使用了 BinaryFormatter 類進行序列化和反序列化。還可以使用其他序列化方式,如 XML 序列化(XmlSerializer)或 JSON 序列化(Json.NET)來實現序列化和反序列化。

0
曲靖市| 尚志市| 六盘水市| 游戏| 宁强县| 南澳县| 七台河市| 连南| 龙海市| 巩义市| 元氏县| 汝阳县| 韶关市| 久治县| 清徐县| 黔西县| 伊宁市| 来安县| 英山县| 玛纳斯县| 肥东县| 章丘市| 丹巴县| 元朗区| 怀仁县| 阜新市| 鄂托克旗| 许昌市| 恩平市| 乐安县| 青田县| 汉沽区| 旬阳县| 沅陵县| 安福县| 涿鹿县| 千阳县| 肇源县| 苍溪县| 马鞍山市| 河西区|