LINQ: オブジェクト インデックスの効率的な検索
データ操作では、多くの場合、特定の基準に一致するオブジェクトのインデックスを検索する必要があります。 従来のループは機能しますが、LINQ はよりクリーンで効率的なソリューションを提供します。
オブジェクトのコレクション (車の配列など) があると想像してください。 特定の条件を満たす最初の車のインデックスを見つけるために、LINQ は簡潔なアプローチを提供します。
重要なのは、元のコレクションを一連のタプルに変換し、それぞれにオブジェクトとそのインデックスが含まれることです。 LINQ の Select
メソッドは、ラムダ式を使用してこれを実現します。
<code class="language-csharp">myCars.Select((car, index) => new {car, index})</code>
これにより、新しいシーケンスが作成されます。 ここで、First
メソッドを使用して、条件を満たす最初のタプルを見つけます。
<code class="language-csharp">myCars.Select((car, index) => new {car, index}).First(myCondition).index;</code>
さらに簡潔にするには、型推論を利用します。
<code class="language-csharp">myCars.Select((car, index) => (car, index)).First(myCondition).index;</code>
これは、最初に一致したオブジェクトのインデックスを直接返し、効率の悪いループ メソッドの必要性を排除します。 myCondition
は車を選択するための特定の基準を表し、一致するものが見つからない場合は First
が例外をスローすることに注意してください。
以上がLINQ は、特定の基準を満たすオブジェクトのインデックスを効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。