首页 > 解决方案 > 如何在 LINQ 中获取重复值

问题描述

var numbs4 = new List<dynamic>() { 12, 9, 75,75, 23, 12, 33, 34, 54, 21, 22 };

嗨,我如何{75,75}使用 LINQ 从升序中获取?

使用Take()你限制行数

var result = numbs4.OrderByDescending(x=>x).Skip(1).Take(1).ToList();

结果:75

我也想参与其中:{75,75} 限制你,我要做什么?

标签: linq

解决方案


如果您想获得与 first-after-max 匹配的所有项目,您可以分组,按 key 按降序排列组,然后选择整个初始组,如下所示:

var result = numbs4
    .GroupBy(x =>x)
    .OrderByDescending(g => g.Key)
    .Skip(1)
    .First()            // That's the second group now
    .ToList();

演示。


推荐阅读