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

溫馨提示×

c#構造類如何進行序列化操作

c#
小樊
83
2024-10-18 19:18:33
欄目: 編程語言

在C#中,要對類進行序列化操作,首先需要確保類實現了Serializable接口。Serializable接口是一個標記接口,沒有任何方法需要實現。它告訴序列化系統該類的對象可以被序列化。

下面是一個簡單的示例,演示了如何對一個包含屬性和實現了Serializable接口的類進行序列化:

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 = "John Doe",
            Age = 30
        };

        // 序列化對象
        IFormatter formatter = new BinaryFormatter();
        using (FileStream fileStream = new FileStream("person.bin", FileMode.Create))
        {
            formatter.Serialize(fileStream, person);
        }

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

在這個示例中,我們創建了一個名為Person的類,并為其添加了NameAge屬性。然后,我們使用BinaryFormatter類將Person對象序列化到名為person.bin的文件中。接下來,我們從該文件中反序列化Person對象,并將其輸出到控制臺。

需要注意的是,BinaryFormatter類已經過時,可能在未來的.NET版本中被移除。在實際項目中,建議使用其他序列化庫,如Json.NET(現已被命名為Newtonsoft.Json)或System.Text.Json。這些庫提供了更多的功能和更好的性能。

0
苏尼特右旗| 梅州市| 通道| 蒙城县| 弋阳县| 晋江市| 汨罗市| 宁德市| 滦南县| 丹巴县| 济宁市| 高密市| 黄骅市| 丰顺县| 乾安县| 大渡口区| 崇礼县| 灵宝市| 玉门市| 二连浩特市| 雷山县| 柞水县| 历史| 科技| 大荔县| 多伦县| 商都县| 余姚市| 翁牛特旗| 徐汇区| 额尔古纳市| 大庆市| 固阳县| 建平县| 互助| 岳普湖县| 黔南| 洛隆县| 富顺县| 沈阳市| 佛冈县|