2010-10-04 15 views
12

Deseo consultar una lista <> y averiguar cuántos elementos coinciden con los criterios de selección. usando LINQ y C# /.net 3.5. ¿Cómo modificaría la consulta para devolver un recuento int?Obtener el recuento de elementos de una lista <> con Linq

var specialBook = from n in StoreDisplayTypeList 
        where n.DisplayType=="Special Book" 
        select n; 

Respuesta

33
var numSpecialBooks = StoreDisplayTypeList.Count(n => n.DisplayType == "Special Book"); 

Este utiliza una sobrecarga de Enumerable.Count que toma un predicado Func<TSource, bool> para filtrar la secuencia.

5

Solo haga referencia a su consulta así: (from ... select n).Count().

18

Prueba esto:

int specialBookCount = (from n in StoreDisplayTypeList 
         where n.DisplayType=="Special Book" 
         select n).Count() 

Pero si necesita datos, así, es posible que desee operar con IEnumerable. Por lo tanto, puede usar su consulta y acceder al método de extensión Count() siempre que lo desee.

var specialBook = from n in StoreDisplayTypeList 
        where n.DisplayType=="Special Book" 
        select n; 
int num = specialBook.Count(); 
Cuestiones relacionadas