2010-08-23 4 views
61

У меня естьLINQ - Преобразование списка в словарь с Стоимостью Списка

List<MyObject> 

, что я извлечение из базы данных. Тем не менее, я хотел бы, чтобы это было основано на свойстве в MyObject для целей группировки. Что является лучшим способом, с помощью LINQ, чтобы бросить свой список:

Dictionary<long, List<MyObject>> 

я следующее:

myObjectList.ToDictionary(x => x.KeyedProperty) 

Но он возвращает:

Dictionary<long, MyObject> 
+0

Вы хотите, чтобы словарь был введен в соответствие с WHICH MyObject? - у вас есть весь список из них .... –

ответ

123

Это звучит, как вы хотите сгруппировать MyObject экземпляров на KeyedProperty и поместите эту группировку в Dictionary<long,List<MyObject>>. Если да, то попробуйте следующее

List<MyObject> list = ...; 
var map = list 
    .GroupBy(x => x.KeyedProperty) 
    .ToDictionary(x => x.Key, x => x.ToList()); 
Смежные вопросы