我有两个列表,并希望以[{1}}
返回当我使用GroupJoin时,它会返回Dictionary<UnitModel, IList<Model>>
IEnumerable<Dictioanry<UnitModel,IList<Model>>>
我希望是否有人知道如何使用GroupJoin或任何其他方式返回词典?
答案 0 :(得分:1)
modelList.GroupJoin(unitList, i => i.UnitId, u => u.Id, (u, i) => new { u, i }).ToDictionary(g => g.u, g => g.i);
答案 1 :(得分:0)
你可以这样做:
var elements = modelList.GroupJoin(unitList, i => i.UnitId, u => u.Id, (u, i) => new KayValuePair<UnitModel, IList<Model>>
{
});
var list = elements.ToList(); //execute
var result = new Dictionary<UnitModel, IList<Model>>(list);
因此,如果返回Dictionary
,则使用KeyValuePair
列表构建它。如果您想从LinQ返回Dictionary
,则需要使用.ToDictionary()
方法。