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

溫馨提示×

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

c#
小樊
82
2024-08-06 19:15:16
欄目: 編程語言

在 C# 中,可以使用以下方法來序列化和反序列化 LinkedListNode:

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

class Program
{
    static void Main()
    {
        // 創建一個 LinkedList
        LinkedList<int> linkedList = new LinkedList<int>();
        linkedList.AddLast(1);
        linkedList.AddLast(2);
        linkedList.AddLast(3);

        // 將 LinkedListNode 序列化為字節數組
        byte[] serializedData = SerializeLinkedList(linkedList.First);

        // 將字節數組反序列化為 LinkedListNode
        LinkedListNode<int> deserializedNode = DeserializeLinkedList(serializedData);

        Console.WriteLine("Deserialized LinkedListNode value: " + deserializedNode.Value);
    }

    static byte[] SerializeLinkedList(LinkedListNode<int> node)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        using (MemoryStream stream = new MemoryStream())
        {
            formatter.Serialize(stream, node);
            return stream.ToArray();
        }
    }

    static LinkedListNode<int> DeserializeLinkedList(byte[] data)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        using (MemoryStream stream = new MemoryStream(data))
        {
            return (LinkedListNode<int>)formatter.Deserialize(stream);
        }
    }
}

在上面的示例中,首先創建了一個包含整數的 LinkedList,然后使用 SerializeLinkedList 方法將 LinkedList 的第一個節點序列化為字節數組。接著使用 DeserializeLinkedList 方法將字節數組反序列化為 LinkedListNode,并打印出反序列化后的節點的值。

需要注意的是,這里使用的是 BinaryFormatter 來進行序列化和反序列化操作,因此需要引入 System.Runtime.Serialization.Formatters.Binary 命名空間。另外,如果 LinkedList 中的元素是自定義類型,需要確保該類型是可序列化的。

0
元朗区| 平远县| 承德县| 中江县| 大厂| 西平县| 永兴县| 饶阳县| 阿克陶县| 嘉祥县| 滦南县| 栾川县| 通州区| 丹江口市| 灵丘县| 青岛市| 普格县| 海伦市| 政和县| 镇雄县| 西贡区| 湾仔区| 高台县| 三原县| 锦屏县| 普宁市| 德钦县| 隆德县| 错那县| 西乌| 新兴县| 日照市| 镶黄旗| 屏东县| 克什克腾旗| 綦江县| 高雄市| 武平县| 青田县| 盐边县| 芒康县|