LINQ を使用してプロパティに基づいて一意のオブジェクトを抽出する
コレクションを操作する場合、特定のオブジェクトのプロパティに基づいて重複を削除する必要がある状況が発生することがあります。 CarCode プロパティによって一意に識別される Car オブジェクトのコレクションがあるとします。ただし、コレクションには同じ CarCode の重複が含まれる場合があります。この記事では、LINQ を使用してこれらの重複を排除し、一意の Car インスタンスのみを保持する方法を説明します。
これを行うには、グループ化と選択を組み合わせた手法を使用できます。次のコード スニペットは、このアプローチを示しています。
<code class="language-csharp">List<Car> distinct = cars .GroupBy(car => car.CarCode) .Select(g => g.First()) .ToList();</code>
このコードでは、最初に GroupBy メソッドを使用して、CarCode プロパティによって車をグループ化します。この操作により、一意の CarCode ごとにグループが作成されます。次に、Select メソッドを使用して、g.First() を使用して各グループから最初の車を抽出します。この手順により、一意の CarCode ごとに 1 つの Car オブジェクトのみが保持されるようになります。
この LINQ 式を実行すると、CarCode プロパティに基づいて一意の Car オブジェクトのみを含む、distinct という新しいコレクションが取得されます。
以上がLINQ を使用してプロパティに基づいて重複オブジェクトを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。