ホームページ > バックエンド開発 > C++ > LINQ を使用して重複オブジェクトを ID プロパティごとに数えて並べ替えるにはどうすればよいですか?

LINQ を使用して重複オブジェクトを ID プロパティごとに数えて並べ替えるにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-03 20:25:40
オリジナル
244 人が閲覧しました

How Can I Count and Sort Duplicate Objects by ID Property Using LINQ?

LINQ を使用したプロパティによる重複のカウント

このシナリオでは、ID プロパティを持つオブジェクトのリストがあります。目的は、ID に基づいてオブジェクトをカウントしてグループ化し、カウントが最も高いオブジェクトを先頭にして結果を並べ替えて表示することです。

ID によるグループ化

LINQ は、指定されたプロパティに基づいてオブジェクトをグループ化する「group by」操作を提供します。あなたの場合、ID プロパティによってグループ化する必要があります。これを実現する方法は次のとおりです。

var grouped = items.GroupBy(item => item.ID);
ログイン後にコピー

グループ化すると、グループのコレクションが作成され、各グループは同じ ID を持つオブジェクトを表します。

Counting Items inグループ

グループを作成すると、「Count()」メソッドを使用して、グループ内のオブジェクトの数をカウントできます。各グループ。結果は、キーと値のペアのコレクションです。ここで、キーは ID、値はカウントです。

var counted = grouped.Select(group => new { ID = group.Key, Count = group.Count() });
ログイン後にコピー

カウントによる並べ替え

最後に、結果をカウントの降順に並べ替えるには、「OrderByDescending()」を使用できます。

var sorted = counted.OrderByDescending(pair => pair.Count);
ログイン後にコピー

結果を新しいリストに結合する

結果を目的の形式で表示するには、 ID、カウント、ゲーム名。これを実現するには、プロパティと射影を組み合わせて使用​​します。

var results = sorted.Select(pair => new { ID = pair.ID, Count = pair.Count, GameName = items.First(item => item.ID == pair.ID).GameName });
ログイン後にコピー

これにより、必要なプロパティを持つオブジェクトのリストが得られます。

次の手順に従うことで、重複をカウントできます。 ID プロパティに基づいて結果をカウントし、LINQ を使用して並べ替えます。

以上がLINQ を使用して重複オブジェクトを ID プロパティごとに数えて並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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