是的,C#中的ArrayList可以進行序列化。你可以使用System.Runtime.Serialization
命名空間中的BinaryFormatter
類來序列化和反序列化ArrayList對象。以下是一個簡單的示例:
using System;
using System.Collections.ArrayList;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
class Program
{
static void Main()
{
// 創建一個ArrayList對象
ArrayList list = new ArrayList();
list.Add("Apple");
list.Add(123);
list.Add(new DateTime(2021, 1, 1));
// 序列化ArrayList對象
IFormatter formatter = new BinaryFormatter();
using (FileStream fileStream = new FileStream("ArrayList.bin", FileMode.Create))
{
formatter.Serialize(fileStream, list);
}
// 反序列化ArrayList對象
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);
}
}
}
}
在這個示例中,我們首先創建了一個包含不同類型元素的ArrayList對象。然后,我們使用BinaryFormatter
類將其序列化到名為ArrayList.bin
的文件中。接下來,我們從該文件中反序列化ArrayList對象,并將其內容輸出到控制臺。