如何在C#?</object>中将List <object>转换为Hashtable

时间:2008-10-03 10:04:30

标签: c# list hashtable

我有一个对象列表,每个对象都包含Id,Code和Description。

我需要将此列表转换为Hashtable,使用描述作为键, Id 作为值。

这样就可以将Hashtable序列化为JSON。

有没有办法从List&lt; Object&gt;转换? Hashtable没有编写循环来遍历列表中的每个项目?

4 个答案:

答案 0 :(得分:32)

假设您的List包含Foo类型的对象(带有int Id和字符串Description)。

您可以使用Linq将该列表转换为如下字典:

var dict = myList.Cast<Foo>().ToDictionary(o => o.Description, o => o.Id);

答案 1 :(得分:5)

如果您有权访问Linq,则可以使用ToDictionary功能。

答案 2 :(得分:0)

theList.ForEach(delegate(theObject obj) { dic.Add(obj.Id, obj.Description); });

答案 3 :(得分:-1)

另请查看System.Collections.ObjectModel.KeyedCollection<TKey, TItem>。这似乎是你想要做的更好的匹配。