首页 > 解决方案 > 如何使用linq在列表中按小时获取记录?

问题描述

我想按小时获取列表记录,例如:

pumpsStatus = pumpsStatus
  .Where(x => x.Date >= dateTimeStart && x.Date <= dateTimeEnd)
  .GroupBy(x => x.Date.Hour)
  .Select(x => x.First())
  .ToList();

在这种情况下,让我在第一天按小时记录列表!!!!

我怎样才能做到这一点?

标签: c#listlinq

解决方案


按原样回答这个问题有点困难,因为它遗漏了一些细节。但是,如果我理解正确,您想按(收集?)时间对您的状态报告进行分组。如果是这样,你可以这样做:

var hourlyReport = pumpStatuses
    .Where(x => x.Date > startDate && x.Date < endDate)
    .GroupBy(x => x.Date.Hour)
    .ToList();

推荐阅读