C#和LINQ的新手。 我有一个基本上是计数序列的数组。
{1,3,5,2,7,2}
我正在尝试编写一个查询,该查询返回具有最高值的索引列表,按降序排列:
4,2,1,3,5,0
我可以通过下面的查询得到最大索引,但我似乎无法弄清楚如何使用单个查询按顺序获取下一个索引。
int index = array.ToList().IndexOf(array.Max());
答案 0 :(得分:10)
答案 1 :(得分:5)
您可以使用Select
: -
var result = numbers.Select((v, i) => new { Value = v, Index = i })
.OrderByDescending(x => x.Value)
.Select(x => x.Index).ToArray();