ホームページ >バックエンド開発 >C++ >LINQ を使用して C# リストのプロパティに基づいて重複を数えたり並べ替えたりするにはどうすればよいですか?

LINQ を使用して C# リストのプロパティに基づいて重複を数えたり並べ替えたりするにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-05 08:56:10971ブラウズ

How Can I Count and Sort Duplicates Based on a Property in a C# List Using LINQ?

LINQ を使用したオブジェクトのリスト内のプロパティに基づいて重複をカウントする

プログラミングでは、リスト内の重複を見つけることは一般的なシナリオです。この記事では、C# の LINQ (言語統合クエリ) を使用して、オブジェクトのリスト内の特定のプロパティに基づいて重複をカウントするという課題に取り組みます。

次のコレクションを表す、ID プロパティを持つオブジェクトのリストがあるとします。アイテム。目標は、各一意の ID の出現数をカウントし、結果をカウント数の多い順に並べ替えることです。

これを達成するには、LINQ の強力な group by 演算子と order by 演算子を利用できます。次の手順は、プロセスの概要を示します:

  1. プロパティによるグループ化: 「グループ化」操作を使用して、ID プロパティによってリスト内のオブジェクトをグループ化します。これにより、サブグループが作成され、各グループには同じ ID を持つオブジェクトが含まれます。
  2. 重複のカウント: 各グループ内で、「Count」メソッドを使用してオブジェクトの数を計算します。
  3. 数による並べ替え: 次に、「orderby」を使用して、オブジェクトの数によってグループを降順に並べ替えます。オペレーター。これにより、最大の重複数に基づいてグループが配置されます。
  4. 結果の選択: 最後に、各グループから必要なプロパティ (カウント、グループ化に使用されるプロパティ、その他の追加のプロパティなど) を選択します。必要な情報。

コード実装:

C# でのコード実装例を次に示します:

var query = list.GroupBy(x => x.ID)
    .Select(x => new {
        Count = x.Count(),
        CategoryID = x.Key,
        // Other properties as needed
    })
    .OrderByDescending(x => x.Count);

この例では、「リスト」はオブジェクトのコレクションを表します。クエリは、まず「ID」プロパティによってオブジェクトをグループ化し、次に各グループ内のオブジェクトをカウントします。結果の匿名タイプには、カウントとCategoryID (この場合はグループのID)が含まれます。最後に、結果はカウントに基づいて降順に並べられます。

この LINQ 式を使用すると、オブジェクトのリスト内の指定されたプロパティに基づいて重複を簡単にカウントして並べ替えることができます。

以上がLINQ を使用して C# リストのプロパティに基づいて重複を数えたり並べ替えたりするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。