You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C# LINQ查询中限制返回行数?替代select top10/limit10的方法

在LINQ中实现类似SELECT TOP 10/LIMIT 10的效果

你可以直接使用LINQ的Take(10)方法来获取排序后的前10条数据,注意要把这个方法放在排序之后、ToList()之前,这样才能确保取到的是按日期降序排列后的前10项。

修改后的完整代码如下:

List<Item> result = items.GroupBy(x => x.ItemNo)
       .Select(x => new Item
        {
            ItemNo = x.Key,
            ItemName = x.FirstOrDefault(y => y.Key == "ItemName")?.Value,           
            Date = x.FirstOrDefault(y => y.Key == "Date")?.Value
        })
       .OrderByDescending(y => y.Date) // 注意原代码的y.date应为y.Date,保持属性名大小写一致
       .Take(10) // 新增Take(10)获取前10条数据
       .ToList();

补充说明:

  • Take(n)方法会返回序列中的前n个元素,如果序列本身元素数量不足n,会直接返回所有现有元素,不会抛出异常。
  • 务必确保Take在排序之后执行,否则取到的是未排序的前10条,不符合你的需求。

内容的提问来源于stack exchange,提问作者Sarahrb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 20:10:30