ホームページ > バックエンド開発 > C++ > LINQの個別の()メソッドを使用して、特定のプロパティに基づいて一意のオブジェクトを取得するにはどうすればよいですか?

LINQの個別の()メソッドを使用して、特定のプロパティに基づいて一意のオブジェクトを取得するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-02-02 09:11:12
オリジナル
365 人が閲覧しました

How Can I Use LINQ's Distinct() Method to Get Unique Objects Based on Specific Properties?

linqの個別の()メソッドを使用して、一意のオブジェクトを取得します

linq(言語統合の問い合わせ)は、コレクションから一意の要素をフィルタリングおよび取得する強力なツール

を提供します。ただし、オブジェクトの属性が単純でない場合、

の使用は難しい場合があります。 Distinct() Distinct()disherin()

を使用します オブジェクトの属性でを使用するには、これらの属性に基づいてオブジェクトをグループ化し、各グループから一意の代表者を選択する必要があります。これは、LINQのおよび

メソッドを使用して実装できます。

Distinct()例:id属性に基づく距離GroupBy Select

IDと名前のプロパティを備えた人物のリストを検討してください:

ID属性に従って一意の人物のリストを取得するには、次のコードを使用できます。

このコードは、ID属性に従って個人オブジェクトをグループ化して、グループセットを作成します。次に、各グループから最初の人物オブジェクトを選択し、ID属性に基づいて人オブジェクトの一意のリストを効果的に提供します。

<code>Person1:Id=1,Name="Test1"
Person2:Id=1,Name="Test1"
Person3:Id=2,Name="Test2"</code>
ログイン後にコピー
明確な

List<Person> distinctPeople = allPeople
  .GroupBy(p => p.Id)
  .Select(g => g.First())
  .ToList();
ログイン後にコピー
複数の属性で複合キーを定義することで

を使用することもできます。たとえば、IDおよびFavoriteColor属性に基づいて一意の個人オブジェクトリストを取得するには、次のコードを使用できます。 Select

注:

一部のクエリプロバイダーは、各グループを分析できない場合があります。さらに、EF Core 6の以前のバージョンには、少し異なる方法が必要です。詳細については、提供されているStackoverflowの回答を参照してください。 (元のテキストはStackoverflowの回答を指していると想定されています。そうでない場合は、この文を削除できます)

以上がLINQの個別の()メソッドを使用して、特定のプロパティに基づいて一意のオブジェクトを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート