如何转换List< object>在C#中使用Hashtable?
题
我有一个对象列表,每个对象都包含Id,Code和Description。
我需要将此列表转换为Hashtable,使用描述作为键, Id 作为值。
这样就可以将Hashtable序列化为JSON。
有没有办法从List< Object>转换? Hashtable没有编写循环来遍历列表中的每个项目?
解决方案
假设您的List包含Foo类型的对象(带有int Id和字符串Description)。
您可以使用Linq将该列表转换为如下字典:
var dict = myList.Cast<Foo>().ToDictionary(o => o.Description, o => o.Id);
其他提示
如果您有权访问Linq,则可以使用 ToDictionary 功能
theList.ForEach(delegate(theObject obj) { dic.Add(obj.Id, obj.Description); });
另请参阅 System.Collections.ObjectModel.KeyedCollection&lt; TKey,TItem&gt;
。这似乎是你想要做的更好的匹配。
不隶属于 StackOverflow