Maison >développement back-end >C++ >Comment LINQ peut-il regrouper efficacement une liste d'objets dans une liste de listes ?
Regrouper les objets dans une liste de listes à l'aide de LINQ
Lorsqu'il s'agit de structures de données complexes, une gestion et une organisation efficaces des données sont cruciales. La puissante bibliothèque LINQ en C# permet une manipulation de données concise et efficace. Cette question explore un scénario spécifique dans lequel une liste d'objets doit être regroupée en fonction d'un champ spécifique, ce qui entraîne une nouvelle liste de listes.
L'extrait de code fourni montre une classe appelée User qui possède les propriétés UserID, UserName et GroupID. Création d'un exemple de liste d'utilisateurs avec différents ID de groupe. L'objectif est d'utiliser LINQ pour regrouper ces utilisateurs par leur association de groupe.
L'approche originale utilisait GroupBy pour y parvenir, mais se heurtait au problème du retour d'une liste de clés. Pour résoudre ce problème, la méthode doit être légèrement modifiée. Le code suivant démontre l'implémentation correcte :
<code class="language-csharp">var groupedCustomerList = userList .GroupBy(u => u.GroupID) .Select(grp => grp.ToList()) .ToList();</code>
Cette méthode regroupe efficacement les utilisateurs par GroupID, produisant une liste hiérarchique de listes. Chaque liste externe représente un groupe et chaque liste interne contient des utilisateurs appartenant à ce groupe. Cette structure permet un accès et une manipulation faciles des données utilisateur groupées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!