LINQ を使用した要素インデックスの効率的な検索
リストや配列などのデータ構造を操作するには、多くの場合、特定の条件に一致する要素のインデックスを見つける必要があります。 LINQ は洗練されたソリューションを提供し、従来のループベースのアプローチと比較して簡潔で読みやすいコードを提供します。
条件を満たす最初の要素のインデックスを特定するには、次の LINQ クエリを検討してください。
<code class="language-csharp">myCars .Select((car, index) => new { car, index }) .First(myCondition) .index;</code>
このコードは、まず Select
を使用して匿名オブジェクトを作成し、各 car
とその index
をペアにします。 次に、First
はこのシーケンスをフィルターし、myCondition
を満たす最初のオブジェクトを返します。 最後に、このオブジェクトの index
プロパティによって、必要なインデックスが明らかになります。
もう少しコンパクトなバージョン:
<code class="language-csharp">myCars .Select((v, i) => new { car = v, index = i }) .First(myCondition) .index;</code>
C# 7 タプルを使用すると、さらに簡略化できます。
<code class="language-csharp">myCars .Select((car, index) => (car, index)) .First(myCondition) .index;</code>
LINQ を使用する利点は明らかです。LINQ はクリーンで表現力豊かなコードを提供し、手動による反復や明示的な変数管理の必要性を排除します。
以上がLINQ を使用してリストまたは配列内の要素のインデックスを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。