【发布时间】:2014-08-16 17:47:54
【问题描述】:
我正在寻找一个代码 sn-p,它返回给定浮点数组的前 N 个元素的索引。我找到了以下代码并且它可以工作,但我不知道为什么:
int[] indexArray = floatArray
.Select((value, index) => new { value, index })
.OrderByDesc(item => item.value)
.Take(N)
.Select(item => item.index)
.ToArray();
程序如何知道匿名类型的第一个属性是浮动元素的值,第二个属性是它的索引?我的意思是为什么不相反?为什么要索引?
【问题讨论】:
-
你在问为什么 Select 传递值和索引?因为这就是写它的人打算做的。它有一个重载,只将值传递给选择器,另一个重载传递值和索引。请参阅docs。
标签: c# .net arrays linq anonymous-types