gpt4 book ai didi

c# - 在 LINQ 中获取包含最小日期的行?

转载 作者:行者123 更新时间:2023-12-02 17:40:41 25 4
gpt4 key购买 nike

我有一个包含日期/时间的表,我想找到具有最小日期的整行。请参阅此示例:

ID     First     Last     ADateTime             Processed
1 Joe Smith 09/06/2013 04:00 AM True
1 Joe Smith 09/06/2013 02:00 AM False
2 Jack Jones
3 John Jack 09/05/2013 06:00 AM True
3 John Jack 09/26/2013 02:00 AM False

我希望从查询中得到以下内容:

ID     First     Last     ADateTime             Processed
1 Joe Smith 09/06/2013 02:00 AM False
2 Jack Jones
3 John Jack 09/05/2013 06:00 AM True

我有一个接近的 LINQ 语句:

        var uniqueGuys = from d in tests.AsEnumerable()
group d by d.ID into g
let f = g.FirstOrDefault()
where f != null
select new
{
f.ID,
f.First,
f.Last,
ADateTime = g.Min(c => c.DateTime),
f.Processed
};

这为我提供了 3 个 ID 中最小日期的正确信息,但其余信息不正确。例如,对于 ID 1,我得到 Joe Smith 的日期为 09/06/201 2:00 AM,这是正确的,但它显示已处理为 True,而不是附加到该行的 false。看起来它只是获取了最小日期/时间,然后是它可以找到其他内容的第一个记录。有没有办法以最小的 ADateTime 获取整行?

最佳答案

您可以执行 orderby 然后选择第一个。

如:

var uniqueGuys = from d in from d in tests.AsEnumerable()
group d by d.ID into g
select g.OrderBy(p => p.DateTime).First();

关于c# - 在 LINQ 中获取包含最小日期的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18451153/

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