ホームページ > バックエンド開発 > C++ > LINQ はオブジェクトのリストをリストのリストに効率的にグループ化するにはどうすればよいでしょうか?

LINQ はオブジェクトのリストをリストのリストに効率的にグループ化するにはどうすればよいでしょうか?

Barbara Streisand
リリース: 2025-01-13 10:29:43
オリジナル
281 人が閲覧しました

How Can LINQ Efficiently Group a List of Objects into a List of Lists?

LINQ を使用してオブジェクトをリストのリストにグループ化する

複雑なデータ構造を扱う場合、データの効果的な管理と組織化が重要です。 C# の強力な LINQ ライブラリにより、簡潔かつ効率的なデータ操作が可能になります。この質問では、オブジェクトのリストを特定のフィールドに基づいてグループ化し、新しいリストのリストを作成する必要がある特定のシナリオについて説明します。

提供されたコード スニペットは、UserID、UserName、および GroupID プロパティを持つ User というクラスを示しています。異なるグループ ID を持つユーザーのサンプル リストを作成しました。目標は、LINQ を使用して、これらのユーザーをグループの関連付けごとにグループ化することです。

元のアプローチでは、GroupBy を使用してこれを実現しましたが、キーのリストを返すという問題に遭遇しました。この問題を解決するには、メソッドを少し変更する必要があります。次のコードは、正しい実装を示しています:

<code class="language-csharp">var groupedCustomerList = userList
    .GroupBy(u => u.GroupID)
    .Select(grp => grp.ToList())
    .ToList();</code>
ログイン後にコピー
  1. GroupBy: GroupBy メソッドは us​​erList に適用されます。リストを反復処理し、GroupID プロパティをキーとして使用してユーザーをグループ化します。
  2. 選択: GroupBy の結果はグループのシーケンスであり、各グループは同じ GroupID を持つユーザーを表します。 Select メソッドは、各グループを新しい List に変換するために使用されます。
  3. ToList: 最後の ToList 呼び出しは、グループ リストのシーケンスを実際の List> に変換します。

この方法では、ユーザーを GroupID ごとに効果的にグループ化し、リストの階層リストを作成します。各外側のリストはグループを表し、各内側のリストにはそのグループに属するユーザーが含まれます。この構造により、グループ化されたユーザー データへの簡単なアクセスと操作が可能になります。

以上がLINQ はオブジェクトのリストをリストのリストに効率的にグループ化するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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