2009-02-12 7 views
0

I ont la liste suivante:Groupement de données avec somme

mat.Add(new Material() { ID = 1, ProdName = "Cylinder", Weight=23, Discontinued='N' }); 
mat.Add(new Material() { ID = 2, ProdName = "Gas", Weight = 25, Discontinued='N' }); 
mat.Add(new Material() { ID = 3, ProdName = "Match", Weight = 23, Discontinued='N' }); 

Je veux un résultat aussi:

2 Products have Weight 23 and Discontinued N 
1 Product have Weigth 25 Discontinued N 
+0

Que diriez-vous de montrer votre tentative? –

Répondre

1

On ne sait pas exactement ce que vous groupant en fait par - est à la fois le poids et l'état abandonné? Si oui, vous pouvez simplement faire:

var query = mat.GroupBy(material => 
         new { material.Weight, material.Discontinued }); 

foreach (var result in query) 
{ 
    Console.WriteLine("{0} products have {1}", result.Count(), result.Key); 
} 
0

.GroupBy(re => new { re.Weight, re.Discontinued }) 
      .Select(grp => new { CXXX = group.Key, Count = grp.Count() 
+1

Il serait utile si vous gardiez les mêmes propriétés que dans votre question. Et qu'est-ce que cela a à voir avec la sommation en premier lieu (selon votre titre)? –

0

"juste" groupe en poids et abandonné. Quelque chose comme: var résultat = mat.GroupBy (a => nouveau {a.Poids, a.Discontinué}). Sélectionnez (b => nouveau b.Clé.Poids, b.Clé.Discontinué, Compte = b.Count()});