0

我需要计算所有经销商的平均成绩。

我的结果是使用 Linq 检索的,如下所示:

var gradeData = (from data in oAngieCtxt.prc_ShopInstanceCustomersData(Convert.ToInt32(this.ShopInstanceID), 10000, false)
                         .Where(row => row.RecievedPoints != "n/a")
                        .GroupBy(row => new { row.Name })
                        .Select(g => new
                        {
                            TotalPoints = g.Sum(x => Convert.ToDouble(x.RecievedPoints) * (x.Weightage.ToString() == "0.00" ? 1 : Convert.ToDouble(x.Weightage))),
                            Name = g.Key.Name
                        })
                         select data).ToList();

现在,我想要 avg = (所有 TotalPoints 的总和)/gradeData.Count

问题是我无法从gradeData 获得所有TotalPoints 的总和。

我怎样才能在不使用 foreach 的情况下实现这一目标?

4

1 回答 1

1

您可以使用“sum”聚合函数。

int sum =gradeData.sum(O => O.TotalPoints);

于 2013-09-04T11:51:54.260 回答