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 listeClients = new 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> oData =
(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 :

Étiquettes : ,

About: James RAVAILLE

Travaillant avec la plateforme Microsoft .NET depuis 2002, j'alterne les missions de formation et d'ingénierie avec cette plateforme. J'écris ce blog pour transmettre mes connaissances à tout développeur, qu'il soit débutant ou expérimenté.