2010-08-23 88 views
61

我有一個LINQ - 轉換清單辭典值列表

List<MyObject> 

,我從數據庫中檢索。但是,我希望它通過MyObject中的屬性進行鍵控以用於分組目的。什麼是LINQ的最好辦法施展我的列表:

Dictionary<long, List<MyObject>> 

我有以下幾點:

myObjectList.ToDictionary(x => x.KeyedProperty) 

但它返回:

Dictionary<long, MyObject> 
+0

你想讓字典鍵入WHIM MyObject的屬性? - 你有他們的完整列表.... – 2010-08-23 15:41:25

回答

123

這聽起來像你要組MyObject實例KeyedProperty並將該分組放入Dictionary<long,List<MyObject>>。如果是的話請嘗試以下

List<MyObject> list = ...; 
var map = list 
    .GroupBy(x => x.KeyedProperty) 
    .ToDictionary(x => x.Key, x => x.ToList());