gpt4 book ai didi

c# - LINQ 在两次和按小时之间过滤

转载 作者:太空宇宙 更新时间:2023-11-03 20:26:11 25 4
gpt4 key购买 nike

我有一个 LINQ 查询,目前是这样的:

var query = from l in Records
where l.time >= time1 && l.time <= time2
select l;

但是,Records 集合过去每两秒记录一次,现在每小时记录一次。我需要一种仅在一小时内从旧数据中获取一条记录的方法,以便返回的数据更有意义,因此我不会返回每 2 秒记录的几个月的数据......任何帮助都会很棒。

最佳答案

因此您每小时只需要一条记录。这意味着您需要按小时分组:

var query = records
.Where(r => r.time >= time1 && r.time <= time2)
.Select(r => new
{
Hour = new DateTime(r.time.Year, r.time.Month, r.time.Day, r.time.Hour, 0, 0),
Record = r
})
.GroupBy(x => x.Hour)
.Select(grp => grp.First().Record);

关于c# - LINQ 在两次和按小时之间过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10530838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com