查询对象列表以查找包含最多项目的星期几

时间:2010-11-12 00:47:45

标签: linq list datetime dayofweek

必须有更好的方法!

我有一堆存储在List中的日志记录。每个日志记录都有一个CreateDate字段,我正在尝试做的是找到一种有效的方法来查询List对象,以查找具有最多日志记录的星期几(星期一,星期二等)。

我认为这可以使用Linq完成,但我不太了解Linq。这可能是我必须通过计算每个特定日期,然后将它们相互比较以找到日志最多的日子来做到这一点,但我希望有人能够告诉我这是一个很酷的方式。

感谢。

1 个答案:

答案 0 :(得分:1)

Loglist.GroupBy(log => log.CreateDate)
    .Select(list => new { DayOfWeek = list.Key.DayOfWeek, Count = list.Count()})
    .OrderByDescending(list=>list.Count);

这将以降序返回(DayOfWeek,Count)列表。如果您只需要每周最大的计数,请在上面的列表末尾添加.First()