C# 将hashtable.value转换为list

C# 将hashtable.value转换为list,c#,asp.net,C#,Asp.net,我有一个哈希表的内容列表,当我想读这本书的内容 代码如下: Hashtable organCollection = new Hashtable(); Organ organ = new Organ (); organCollection = organ.KMLDecode(); List<Hashtable> LinesCollection = new List<Hashtable>(); foreach (DictionaryEntry entry in organCo

我有一个哈希表的内容列表,当我想读这本书的内容 代码如下:

Hashtable organCollection = new Hashtable();
Organ organ = new Organ ();
organCollection = organ.KMLDecode();
List<Hashtable> LinesCollection = new List<Hashtable>();
foreach (DictionaryEntry entry in organCollection )
{
    LinesCollection = List <Hashtable> entry.Value;
}
但得到以下错误:

Error   1   foreach statement cannot operate on variables of type 'object' because 'object' does not contain a public definition for 'GetEnumerator'
我找不到答案 提前谢谢

嗯。。。试试这个:

var organ_items = organCollection.OfType<OrganType>().ToArray();
foreach (OrganType item in organ_items)
{
    string str = item.Key.ToString();
    arr = (ArrayList)organCollection[str];
}

这里OrganType是organCollection变量中的一种单元素类型。

旁注-ArrayList和HashTable应分别替换为List和HashSet。您可以编写Organe Organe=new Organe;Hashtable organCollection=Organe.KMLDecode;您试图解决的共同问题是什么?当更改如下时,我的OrganType是List:var Organize\u items=organCollection.OfType.ToArray;运行后,项目为空!–
var organ_items = organCollection.OfType<OrganType>().ToArray();
foreach (OrganType item in organ_items)
{
    string str = item.Key.ToString();
    arr = (ArrayList)organCollection[str];
}