【发布时间】:2014-04-24 08:56:03
【问题描述】:
我有一本字典,想要获取特定时间范围内的平均出勤率。 到目前为止,我有这项工作,它给了我出席人数:
var vCounts = (from pil in planInfoList
from s in pil.Value
where (s.CheckInActualUtc.TimeOfDay >= TStart
&& s.CheckInActualUtc.TimeOfDay <= TEnd)
select s).Count();
s.CheckInActualUtc 是多个日期。
如何获得出席人数的平均值? 我已经尝试过了,但这是不行的:
var vAverage = from pil in planInfoList
from s in pil.Value
where (s.CheckInActualUtc.TimeOfDay >= TStart
&& s.CheckInActualUtc.TimeOfDay <= TEnd)
group s by s.CheckInActualUtc.DayOfYear into g
select new { av = g.Average() };
【问题讨论】:
-
group s.Value by ...也许? -
您的意思是要获得每天平均数的组合平均数还是仅获得总平均数(在这种情况下可以省略分组依据)
-
请注意:你可以像
planInfoList.Values那样简单,而不是双重from -
我想要一个总平均值。
-
Average只有在可数类型中。
标签: c# linq dictionary