可以使用 OrderByDescendingFirstOrDefault 方法来实现获取 top n 的功能,无需使用 Take 方法。

示例代码:

var topN = list.OrderByDescending(x => x.Value).FirstOrDefault(n => true);

其中,list 是需要获取 top n 的集合,x.Value 是需要按照哪个属性进行排序,n 是需要获取的前 n 个元素的数量。

这段代码会按照值从大到小的顺序进行排序,然后返回前 n 个元素中的第一个元素,即为 top n 中的最大值。如果集合中不足 n 个元素,则返回集合中的所有元素。

C# LINQ 获取 Top N 元素:不使用 Take 方法

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

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