2009-05-05 7 views
0

J'ai une liste d'objets RegionGroup avec deux propriétés: un int "nombre" et une liste <> de "Régions".C# - Je sais que je peux le faire dans LINQ, mais je ne peux pas le faire fonctionner

Je dois générer une distribution du nombre d'objets Région combinés pour chaque nombre. Par exemple, avec:

[Région 1] - Numéro: 1 - Liste <> a 5 membres

[Région 2] - Numéro 3 - Liste <> a 2 membres

[Région 3] - numéro: 4 - liste <> a 9 membres

[Region 4] - N °: 1 - liste <> a 5 membres

[Région 5] - N °: 3 - liste <> a 4 membres

je dois obtenir quelque chose comme:

nombre

: 1 - au total 10 membres

: 3 - un total de 6 membres

nombre: 4 - 9 membres au total

J'ai commencé à utiliser divers didacticiels, et je pense que je dois utiliser des groupes, mais je n'arrivais pas à faire quoi que ce soit qui fonctionne.

Une aide? Merci!

Répondre

0

Vous devez groupe par le numéro de région et obtenir le nombre total de membres dans les listes.

Que diriez-vous quelque chose comme ça (non testé):

var regionCounts = from region in RegionGroups 
        group region by region.number into g 
        select new {number = g.Key, 
           regions = g.Sum(r=>r.Regions.Count)}; 
+0

yup, c'est ce que j'ai eu =] merci pour la confirmation! – DarkAmgine

Questions connexes