Langage C# – Regrouper facilement des objets avec LINQ
LINQ est apparu en 2008 dans le langage C# et a entraîné en révolution dans la manière dont les développeurs écrivaient les traitements de données.
Avec LINQ, il est très simple de réaliser un regroupement de données. Voici un exemple dans lequel des clients sont regroupés en fonction de leur numéro de département :
[cc lang= »csharp »]
List
new Client(« Societe 1 », « 44220 »),
new Client(« Societe 2 », « 75000 »),
new Client(« Societe 3 », « 44000 »),
new Client(« Societe 4 », « 75000 »),
new Client(« Societe 5 », « 75000 »)
};
Dictionary
(from oClient in listeClients
group oClient by int.Parse(oClient.CP.Substring(0, 2)) into oGroup
select oGroup).ToDictionary(o => o.Key, o => o.ToList());
[/cc]
Le résultat obtenu dans la variable oData peut être schématisé de la manière suivante :
Pour mieux la comprendre, décortiquons cette requête LINQ :