3

double以下のクエリのように、時間値 ( ) が特定の条件を満たす配列内のすべての項目のインデックスを返すこの LINQ クエリがあります。

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();

これは改善できると確信していますが、どうすればよいですか?私は困惑しています。誰でもこれで私を助けることができますか?

4

2 に答える 2

5

特に問題はないと思いますが、どのように改善する必要がありますか? このの再利用可能なメソッドが必要な場合は、次を参照してください: LINQ クエリを使用してインデックス値のコレクションを取得する

于 2012-05-02T11:50:30.097 に答える
3

改善ではありませんが、同じことを行う別の方法です。

var sonicIndices = Enumerable.Range(0, completeLog.Length)
                   .Where(i => Math.Abs(completeLog[i].time - nullValue) > 0.001)
                   .ToArray();
于 2012-05-02T11:53:26.790 に答える