Как я могу преобразовать список <object>в Hashtable в C #? - PullRequest
18 голосов
/ 03 октября 2008

У меня есть список объектов, каждый из которых содержит Id, код и описание.

Мне нужно преобразовать этот список в Hashtable, используя Описание в качестве ключа и Id в качестве значения.

Это значит, что Hashtable может быть сериализован в JSON.

Есть ли способ конвертировать из списка в Hashtable без написания цикла для просмотра каждого элемента в списке?

Ответы [ 4 ]

32 голосов
/ 03 октября 2008

Предположим, что ваш список содержит объекты типа Foo (с int Id и строкой Description).

Вы можете использовать Linq, чтобы превратить этот список в словарь, подобный этому:

var dict = myList.Cast<Foo>().ToDictionary(o => o.Description, o => o.Id);
5 голосов
/ 03 октября 2008

Если у вас есть доступ к Linq, вы можете использовать ToDictionary .

0 голосов
/ 03 октября 2008

Также посмотрите на System.Collections.ObjectModel.KeyedCollection<TKey, TItem>. Похоже, лучше подходит для того, что вы хотите сделать.

0 голосов
/ 03 октября 2008
theList.ForEach(delegate(theObject obj) { dic.Add(obj.Id, obj.Description); });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...