我有List<A>
。每个A
都有一个List<B>
,其中B
有一个int x
。我想为所有x
计算A
的平均值。
我试过了:
@Model.AList.ForEach(a => a.BList.Average(b => b.x))
这抱怨错过了返回值。我尝试过类似的东西:
@Model.Alist.ForEach(a =>
{
return a.Blist.Average(b => b.x);
})
但这是不正确的语法,因为ForEach
期望void返回。
如何在LINQ查询中计算所有x
的{{1}}的平均值?
答案 0 :(得分:7)
首先压扁收藏品,然后取平均值。像这样:
@Model.AList.SelectMany(a => a.BList).Average(b => b.x)
答案 1 :(得分:1)
我不确定你是否想要每个BList的不同平均值,所以这就是解决方案:
@Model.AList.Select(a => a.BList.Average(b => b.x))