我有一些看起来像这样的数据:
Environment | Time
"1" | 2021/09/01
"2" | 2021/09/02
"1" | 2021/09/03
"3" | 2021/09/01
"1" | 2021/09/03
"1" | 2021/09/04
"3" | 2021/12/01
"2" | 2021/11/02
我需要找到每个环境的最后一条记录(按时间),所以我写道:
var lastPerEnvironment = data
.GroupBy(prp => prp.Environment)
.Select(prp => prp.OrderByDescending(o => o.Time).First());
当然它可以按预期工作,但我想有一种更简单的方法来编写它,并且可能也更有效,例如使用像 MoreLINQ 这样的召集库(或另一个好知道的库?),并进行某种分区。
我不需要 Linq 到 SQL 的转换(但如果建议的解决方案也支持它会很好),只需要 Linq 到对象。
感谢您的建议