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>
この方法では、ユーザーを GroupID ごとに効果的にグループ化し、リストの階層リストを作成します。各外側のリストはグループを表し、各内側のリストにはそのグループに属するユーザーが含まれます。この構造により、グループ化されたユーザー データへの簡単なアクセスと操作が可能になります。
以上がLINQ はオブジェクトのリストをリストのリストに効率的にグループ化するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。