Avec LINQ, obtenir nombre d'éléments qui satisfont à des critères de regroupement

Je vais probablement boucher la terminologie si j'essaie trop dur, de sorte qu'il sera plus facile de décrire via le code:


var fooGroup = fooList.GroupBy(x => x.SomeID);
//fooGroup is now of type IEnumerable<IGrouping<int, Foo>>
var someCount = fooGroup.Count(y => y.Where(f => f.Bar == "Bar"));

Le ci-dessus ne compilera pas à cause de cette erreur: "Impossible de convertir l'expression lambda de type délégué System.Func<System.Linq.IGrouping<int,Foo>,bool>
parce que certains types de retour dans le bloc ne sont pas implicitement convertible le délégué type de retour"

Je suppose que la réponse est assez simple, mais je n'arrive pas à envelopper ma tête autour de la façon de faire.

Vous devriez expliquer à un haut niveau de ce que vous essayez d'accomplir. par exemple, "je veux compter le nombre de foos ont une certaine ID". Il est difficile de dire ce que vous essayez de faire.

OriginalL'auteur Matt | 2013-02-13