我需要使用Hastable
(不是List
而不是Dictionary
),而且我有许多带键的变量。我将键和变量添加到类中,并在我的程序中使用它。但我不知道如何解析Hashtable
。我试过这个:
Hashtable toboofer = null;
string path = @"my.bin";
FileStream fin = File.OpenRead(path);
try
{
BinaryFormatter bf = new BinaryFormatter();
toboofer = (Hashtable)bf.Deserialize(fin);
for (int i = 0; i <= toboofer.Count; i++ )
//foreach (KeyValuePair<string, string> kvp in toboofer)
{
myclass cl = new myclass();
cl.Fio = toboofer[i].ToString();
cl.About = toboofer[i].ToString();
}
}
但我有错误。当我尝试string item
或循环for
时,我也有错误。
答案 0 :(得分:2)
Hashtable
将DictionaryEntry
作为集合元素
foreach (DictionaryEntry entry in toboofer)
{
// do something
}
从哈希表中列出myclass
:
var listOfMyClass = toboofer.Cast<DictionaryEntry>().
Select(e => new myclass()
{ Fio = e.Key.ToString(), About = e.Value.ToString() });
答案 1 :(得分:0)
尝试这个哈希表使用如果是DictionaryEntry,其中KeyValuePair泛型由泛型字典.Net 2(及以后)使用
请注意,Hashtable没有它的泛型版本,而hastable中的每个元素都由DictionaryEntry表示
foreach (DictionaryEntry entry in hashtable)
{
Console.WriteLine("{0}, {1}", entry.Key, entry.Value);
}