我有一個LINQ - 轉換清單辭典值列表
List<MyObject>
,我從數據庫中檢索。但是,我希望它通過MyObject中的屬性進行鍵控以用於分組目的。什麼是LINQ的最好辦法施展我的列表:
Dictionary<long, List<MyObject>>
我有以下幾點:
myObjectList.ToDictionary(x => x.KeyedProperty)
但它返回:
Dictionary<long, MyObject>
我有一個LINQ - 轉換清單辭典值列表
List<MyObject>
,我從數據庫中檢索。但是,我希望它通過MyObject中的屬性進行鍵控以用於分組目的。什麼是LINQ的最好辦法施展我的列表:
Dictionary<long, List<MyObject>>
我有以下幾點:
myObjectList.ToDictionary(x => x.KeyedProperty)
但它返回:
Dictionary<long, MyObject>
這聽起來像你要組MyObject
實例KeyedProperty
並將該分組放入Dictionary<long,List<MyObject>>
。如果是的話請嘗試以下
List<MyObject> list = ...;
var map = list
.GroupBy(x => x.KeyedProperty)
.ToDictionary(x => x.Key, x => x.ToList());
你應該在Enumerable
class使用ToLookup
extension method像這樣:
List<MyObject> list = ...;
ILookup<long, MyObject> lookup = list.ToLookup(o => o.KeyedProperty);
如果你想放置在一本字典,那麼你可以使用ToDictionary
extension method,像這樣:
IDictionary<long, IEnumerable<MyObject>> dictionary = lookup.ToDictionary(
l => l.Key);
你想讓字典鍵入WHIM MyObject的屬性? - 你有他們的完整列表.... – 2010-08-23 15:41:25