列表中的平均某些元素数

时间:2013-11-10 20:09:23

标签: c# linq entity-framework

我想我可以在LINQ中做到这一点,但我是新手,所以我希望有人可以帮助我。我有一个使用此代码生成的列表(我相信它是一个列表):

var dividendsList = from div in context.DividendsEntitySet
                    where div.CUSIP.Equals(cusip)
                    orderby div.PayableDate descending
                    select div;

dividendsList包含Dividend个对象。每个被除数对象都有一个名为rate的属性。我的目标是平均不同数量的这些rates。因此,举例来说,我可能希望平均前12个费率。

现在我知道我可以循环浏览列表,但我想知道是否有更快/更有效的方法,因为我将执行这么多次。

1 个答案:

答案 0 :(得分:5)

您应该能够使用Fluent并执行以下操作:

dividendsList.Take(10).Average(m => m.rate)

这将从列表中获取前10个项目,并将其rate属性平均在一起。