可以使用BinaryFormatter類來序列化Hashtable對象。以下是一個示例代碼:
using System;
using System.Collections;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
class Program
{
static void Main()
{
Hashtable hashtable = new Hashtable();
hashtable.Add("key1", "value1");
hashtable.Add("key2", "value2");
SerializeHashtable(hashtable, "hashtable.dat");
Hashtable deserializedHashtable = DeserializeHashtable("hashtable.dat");
foreach (DictionaryEntry entry in deserializedHashtable)
{
Console.WriteLine($"{entry.Key}: {entry.Value}");
}
}
static void SerializeHashtable(Hashtable hashtable, string filePath)
{
using (FileStream fileStream = new FileStream(filePath, FileMode.Create))
{
BinaryFormatter binaryFormatter = new BinaryFormatter();
binaryFormatter.Serialize(fileStream, hashtable);
}
}
static Hashtable DeserializeHashtable(string filePath)
{
using (FileStream fileStream = new FileStream(filePath, FileMode.Open))
{
BinaryFormatter binaryFormatter = new BinaryFormatter();
return (Hashtable)binaryFormatter.Deserialize(fileStream);
}
}
}
在這個示例中,首先創建了一個Hashtable對象并填充了一些數據。然后使用SerializeHashtable方法將Hashtable對象序列化到文件中,再使用DeserializeHashtable方法從文件中反序列化出Hashtable對象。最后遍歷并打印Hashtable對象中的鍵值對。