改进了满足特定条件的项目的 LINQ 查询返回索引

本文关键字:LINQ 查询 返回 索引 项目 满足 特定条件 | 更新日期: 2023-09-27 18:33:06

>我有一个LINQ查询,它返回数组中所有项目的索引,其时间值(double)满足特定条件,如下面的查询所示。

var sonicIndices = completeLog.Select((item, index) => new { Item = item, Index = index })
            .Where(x => Math.Abs(x.Item.time - nullValue) > 0.001)
            .Select(item => item.Index).ToArray();

我很确定这可以改进,但如何改进?我被难住了。谁能帮我?

改进了满足特定条件的项目的 LINQ 查询返回索引

我认为这没有什么特别的问题,它需要以什么方式变得更好?如果需要用于此类操作的可重用方法,请参阅:使用 LINQ 查询获取索引值的集合

不是改进,而只是做同样事情的另一种方法:

var sonicIndices = Enumerable.Range(0, completeLog.Length)
                   .Where(i => Math.Abs(completeLog[i].time - nullValue) > 0.001)
                   .ToArray();