中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C#類的序列化與反序列化

c#
小樊
82
2024-08-11 23:49:43
欄目: 編程語言

在 C# 中,可以使用序列化和反序列化來將對象轉換為字節流或將字節流轉換為對象。這些操作可以幫助我們在不同系統之間傳輸對象或將對象保存到文件中。

以下是一個簡單的示例,展示如何在 C# 中進行類的序列化和反序列化:

using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;

[Serializable]
public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

class Program
{
    static void Main()
    {
        Person person = new Person { Name = "Alice", Age = 30 };

        // 序列化對象
        IFormatter formatter = new BinaryFormatter();
        using (Stream stream = new FileStream("person.dat", FileMode.Create, FileAccess.Write, FileShare.None))
        {
            formatter.Serialize(stream, person);
        }

        // 反序列化對象
        using (Stream stream = new FileStream("person.dat", FileMode.Open, FileAccess.Read, FileShare.Read))
        {
            Person deserializedPerson = (Person)formatter.Deserialize(stream);
            Console.WriteLine($"Name: {deserializedPerson.Name}, Age: {deserializedPerson.Age}");
        }
    }
}

在上面的示例中,我們定義了一個 Person 類,并對其進行了序列化和反序列化操作。序列化使用 BinaryFormatter 類,將 Person 對象保存到文件中。反序列化則是通過將文件中的字節流轉換回 Person 對象。

需要注意的是,要使一個類可以序列化,需要在類的定義上加上 [Serializable] 特性。除了使用 BinaryFormatter 進行序列化和反序列化外,還可以使用其他序列化方式,如 XML 序列化、JSON 序列化等。

0
景谷| 甘泉县| 榆树市| 洛隆县| 眉山市| 孟津县| 福鼎市| 尚志市| 丰宁| 涡阳县| 吉隆县| 扎兰屯市| 青河县| 德清县| 息烽县| 综艺| 额尔古纳市| 海丰县| 广南县| 沙湾县| 石屏县| 大方县| 监利县| 揭东县| 洛宁县| 石楼县| 莫力| 江油市| 罗定市| 海宁市| 武强县| 会宁县| 冕宁县| 朝阳县| 嘉义县| 漳州市| 哈巴河县| 会昌县| 巴塘县| 沈阳市| 临沭县|