我正在处理内存中对象的查询:
var rankingSummary = resultSet
.Where(r => r.Accuracy >= 95 && r.Accuracy <= 105)
.Select(r => r.Results).Where(r => r.ResultType == 1)
.Select(r => r.Subjects)
Subjects
是Result类具有的List<Subject>
属性。我现在在查询中的位置是IEnumerable<List<Subject>>
。我想要的是将它们全部加入到单个列表中,因为我根据每个主题的属性进一步查询。是否有一种优雅或实用的方法来实现这一目标?
答案 0 :(得分:4)
我相信这应该有效:
var rankingSummary = resultSet
.Where(r => r.Accuracy >= 95 && r.Accuracy <= 105)
.Select(r => r.Results).Where(r => r.ResultType == 1)
.SelectMany(r => r.Subjects)
.ToList();
答案 1 :(得分:3)
您正在寻找的是SelectMany
。
var rankingSummary = resultSet
.Where(r => r.Accuracy >= 95 && r.Accuracy <= 105)
.Select(r => r.Results).Where(r => r.ResultType == 1)
.SelectMany(r => r.Subjects)
.ToList();