如何转换List<;对象>;到C#中的哈希表

本文关键字:对象 gt 哈希表 lt 何转换 转换 List | 更新日期: 2023-09-27 17:47:24

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

我需要将此列表转换为哈希表,使用Description作为键,使用Id为值。

这样,Hashtable就可以串行化为JSON。

有没有一种方法可以从List<对象>到Hashtable,而不编写循环来遍历列表中的每个项?

如何转换List<;对象>;到C#中的哈希表

让我们假设您的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<TKey, TItem>。这似乎更符合你想要做的事情。