我有一个对象列表,每个对象都包含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; 。这似乎是你想要做的更好的匹配。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top