如何在 LINQ 中的 GroupBy 之后做平均值

Ala*_*an2 0 c# linq

我有这个 LINQ 查询,我正在尝试获取每天的 ActualSize 的平均值。这是我尝试过的,但这条线有问题:

ActualSize = g.ActualSize.Average()
Run Code Online (Sandbox Code Playgroud)

谁能告诉我如何获得平均值,因为 g.Average 在这里不是一个选项:

var Disp  = Start
            .Select(x => new StartDisplay
            {
                DateYYMMDD = x.DateYYMMDD,
                ActualSize = (x.ActualHeight * x.ActualWidth) / 1000
            })
            .GroupBy(x => x.DateYYMMDD)
            .OrderBy(g => g.Key)
            .Select(g => new StartDisplay
            {
                DateYYMMDD = $"20{g.Key.Substring(0, 2)}/{g.Key.Substring(2, 2)}/{g.Key.Substring(4, 2)}",
                ActualSize = g.ActualSize.Average()
            })
            .ToList());
Run Code Online (Sandbox Code Playgroud)

hal*_*ldo 5

您可以传递一个表达式来Average()指定要使用的属性。尝试这个:

ActualSize = g.Average(s => s.ActualSize)
Run Code Online (Sandbox Code Playgroud)