可以使用以下代码使用 LINQ 来实现该需求:

var selectedData = data
    .GroupBy(x => x.Name) // 按照 Name 分组
    .Select(g => g.OrderByDescending(x => x.MarkTime).First()) // 对每个分组按照 MarkTime 降序排序并取第一个
    .Where(x => x.ID == specifiedID) // 筛选指定 ID 的数据
    .ToList();

其中,data 是原始数据列表,specifiedID 是指定的 ID。

这段代码会先按照 Name 分组,然后对每个分组按照 MarkTime 降序排序,并取最新的一条数据。最后,再通过 Where 筛选指定 ID 的数据,将结果转换为列表。

LINQ 获取指定 ID 数据,相同 Name 时取最新日期记录

原文地址: https://www.cveoy.top/t/topic/qbLJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录