我有一个对象列表,每个对象都包含Id,Code和Description。
我需要将此列表转换为Hashtable,使用描述作为键, Id 作为值。
这样就可以将Hashtable序列化为JSON。
有没有办法从List< Object>转换? Hashtable没有编写循环来遍历列表中的每个项目?
答案 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>
。这似乎是你想要做的更好的匹配。