C# 在LINQ参加群比后,我如何进行平均分
我有这个LINQ查询,我试图得到每天ActualSize的平均值。以下是我尝试过的,但我对这一行有问题:C# 在LINQ参加群比后,我如何进行平均分,c#,linq,C#,Linq,我有这个LINQ查询,我试图得到每天ActualSize的平均值。以下是我尝试过的,但我对这一行有问题: ActualSize = g.ActualSize.Average() 有人能告诉我如何将平均值作为g。这里不能选择平均值: var Disp = Start .Select(x => new StartDisplay { DateYYMMDD = x.DateYYMMDD,
ActualSize = g.ActualSize.Average()
有人能告诉我如何将平均值作为g。这里不能选择平均值:
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());
您可以将表达式传递给
Average()
,指定要使用的属性。试试这个:
ActualSize = g.Average(s => s.ActualSize)
.GroupBy()
生成一个,它派生自IEnumerable
因此,您可以直接对g
中的值调用Average()
函数:
ActualSize=g.Average(x=>x.ActualSize)