Dire que j'ai une liste de tous Projects
, et ce groupe je les par Category
comme ceci:Obtenir impair/même une partie d'une séquence avec LINQ
var projectsByCat = from p in Projects
group p by p.Category into g
orderby g.Count() descending
select new { Category = g.Key, Projects = g };
Maintenant, je veux afficher cela comme une liste dans un page web, où d'abord je crée le div côté gauche, d'autre part le div côté droit. Je commande par numéro de Projects
dans chaque Category
pour montrer le Categories
avec le plus Projects
sur le dessus - donc je voudrais diviser projectsByCat
en deux - si je mets tous les "numéros impairs" Categories
sur la gauche et le "pair" catégories sur la droite, je pense que je vais avoir une vue raisonnablement saine.
Je pensais que je pouvais faire pour obtenir les paires et impaires membres de projectsByCat
:
var oddCategories = projectsByCat.Where((cat, index) => index % 2 != 0);
var evenCategories = projectsByCat.Where((cat, index) => index % 2 == 0);
Et il compile - cependant, quand je le lance, je reçois une exception telle que celle-ci:
Surcharge non prise en charge utilisée pour l'opérateur de requête 'Where'.
Et je pensais que j'étais en sécurité car il a compilé en premier lieu ..;)
Y at-il une façon élégante de le faire? Et aussi, y a-t-il une explication élégante pour pourquoi mon utilisation créative de Where()
ne fonctionnera pas?
Merci d'avance!
qui l'a fait - je 95% LINQ aux objets ainsi la possibilité de cet être un problème avec LINQ to SQL ne même pas frappe moi, merci! –