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

如何使用LINQ降序查询集合,提取不超过元素最大值的3个不同值

LINQ查询实现方案

你可以直接用以下LINQ语句实现需求,全程不需要额外自定义逻辑:
首先确保你已经引入了必要的命名空间:

using System.Linq;
using System.Collections.ObjectModel;

方法语法写法(最常用)

var result = c1.Distinct()
               .OrderByDescending(x => x)
               .Skip(1)
               .Take(3);

// 按你需要的格式输出
Console.WriteLine($"({string.Join(',', result)})");

查询表达式写法

var result = (from num in c1.Distinct()
              orderby num descending
              select num).Skip(1).Take(3);

逻辑说明

每一步的作用完全匹配需求:

  • Distinct():去除集合中的重复元素,得到无重复的整数序列
  • OrderByDescending(x => x):对无重复序列按数值从大到小降序排序
  • Skip(1):跳过排序后的第一个元素(也就是原集合的最大值7,匹配你要提取小于最大值的元素的要求)
  • Take(3):取后续3个元素,最终得到序列6,5,4
    代入你给出的示例集合运行,输出结果完全符合预期(6,5,4)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:06:04