c# LINQ返回计数器数组索引从最大值到最小值
本文关键字:最大值 最小值 索引 数组 LINQ 返回 计数器 | 更新日期: 2023-09-27 18:10:25
c#和LINQ的新手。我有一个数组,它本质上是一个计数序列。
{1, 3, 5, 7, 2}
我正在尝试编写一个查询,返回按降序排列的最高值索引列表:
4、2、1,3,5,0
我可以通过下面的查询获得最大索引,但我似乎不知道如何通过单个查询获得顺序的下一个索引。
int index = array.ToList().IndexOf(array.Max());
这行得通:
var list = new [] {1,3,5,2,7,2};
var indices =
list
.Select((n, i) => new { n, i })
.OrderByDescending(x => x.n)
.Select(x => x.i)
.ToArray();
您可以使用Select
:-
var result = numbers.Select((v, i) => new { Value = v, Index = i })
.OrderByDescending(x => x.Value)
.Select(x => x.Index).ToArray();
工作小提琴。