c# arraylist能進(jìn)行序列化嗎

c#
小樊
81
2024-11-15 23:52:16

是的,C#中的ArrayList可以進(jìn)行序列化。你可以使用System.Runtime.Serialization命名空間中的BinaryFormatter類來(lái)序列化和反序列化ArrayList對(duì)象。以下是一個(gè)簡(jiǎn)單的示例:

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

class Program
{
    static void Main()
    {
        // 創(chuàng)建一個(gè)ArrayList對(duì)象
        ArrayList list = new ArrayList();
        list.Add("Apple");
        list.Add(123);
        list.Add(new DateTime(2021, 1, 1));

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

        // 反序列化ArrayList對(duì)象
        using (FileStream fileStream = new FileStream("ArrayList.bin", FileMode.Open))
        {
            ArrayList deserializedList = (ArrayList)formatter.Deserialize(fileStream);
            Console.WriteLine("Deserialized ArrayList:");
            foreach (object item in deserializedList)
            {
                Console.WriteLine(item);
            }
        }
    }
}

在這個(gè)示例中,我們首先創(chuàng)建了一個(gè)包含不同類型元素的ArrayList對(duì)象。然后,我們使用BinaryFormatter類將其序列化到名為ArrayList.bin的文件中。接下來(lái),我們從該文件中反序列化ArrayList對(duì)象,并將其內(nèi)容輸出到控制臺(tái)。

0