2010-08-23 68 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());