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

「合計」集計関数を使用できます。

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

于 2013-09-04T11:51:54.260 に答える