Leer en inglés

Compartir vía


Queryable.Count Método

Definición

Devuelve el número de elementos de una secuencia.

Sobrecargas

Count<TSource>(IQueryable<TSource>)

Devuelve el número de elementos de una secuencia.

Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

Devuelve el número de elementos de la secuencia especificada que satisfacen una condición.

Count<TSource>(IQueryable<TSource>)

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

Devuelve el número de elementos de una secuencia.

C#
public static int Count<TSource> (this System.Linq.IQueryable<TSource> source);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IQueryable<TSource>

IQueryable<T> que contiene los elementos que se van a contar.

Devoluciones

El número de elementos de la secuencia de entrada.

Excepciones

source es null.

El número de elementos de source es mayor que Int32.MaxValue.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar Count<TSource>(IQueryable<TSource>) para contar los elementos de una secuencia.

C#
string[] fruits = { "apple", "banana", "mango",
                    "orange", "passionfruit", "grape" };

int numberOfFruits = fruits.AsQueryable().Count();

Console.WriteLine(
    "There are {0} items in the array.",
    numberOfFruits);

// This code produces the following output:
//
// There are 6 items in the array.

Comentarios

El Count<TSource>(IQueryable<TSource>) método genera un MethodCallExpression objeto que representa llamarse Count<TSource>(IQueryable<TSource>) a sí mismo como un método genérico construido. A continuación, pasa al MethodCallExpressionExecute<TResult>(Expression) método del IQueryProvider representado por la Provider propiedad del source parámetro .

El comportamiento de consulta que se produce como resultado de ejecutar un árbol de expresión que representa la llamada Count<TSource>(IQueryable<TSource>) depende de la implementación del tipo del source parámetro. El comportamiento esperado es que cuenta el número de elementos de source.

Se aplica a

.NET 9 otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

Devuelve el número de elementos de la secuencia especificada que satisfacen una condición.

C#
public static int Count<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IQueryable<TSource>

IQueryable<T> que contiene los elementos que se van a contar.

predicate
Expression<Func<TSource,Boolean>>

Función para probar cada elemento de una condición.

Devoluciones

El número de elementos de la secuencia que satisfacen la condición de la función de predicado.

Excepciones

source o predicate es null.

El número de elementos de source es mayor que Int32.MaxValue.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) para contar los elementos de una secuencia que cumplen una condición.

C#
class Pet
{
    public string Name { get; set; }
    public bool Vaccinated { get; set; }
}

public static void CountEx2()
{
    // Create an array of Pet objects.
    Pet[] pets = { new Pet { Name="Barley", Vaccinated=true },
                   new Pet { Name="Boots", Vaccinated=false },
                   new Pet { Name="Whiskers", Vaccinated=false } };

    // Count the number of unvaccinated pets in the array.
    int numberUnvaccinated =
        pets.AsQueryable().Count(p => p.Vaccinated == false);

    Console.WriteLine(
        "There are {0} unvaccinated animals.",
        numberUnvaccinated);
}

// This code produces the following output:
//
// There are 2 unvaccinated animals.

Comentarios

Este método tiene al menos un parámetro de tipo Expression<TDelegate> cuyo argumento de tipo es uno de los Func<T,TResult> tipos. Para estos parámetros, puede pasar una expresión lambda y se compilará en .Expression<TDelegate>

El Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) método genera un MethodCallExpression objeto que representa llamarse Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) a sí mismo como un método genérico construido. A continuación, pasa al MethodCallExpressionExecute<TResult>(Expression) método del IQueryProvider representado por la Provider propiedad del source parámetro .

El comportamiento de consulta que se produce como resultado de ejecutar un árbol de expresión que representa la llamada Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) depende de la implementación del tipo del source parámetro. El comportamiento esperado es que cuenta el número de elementos de source que cumplen la condición especificada por predicate.

Se aplica a

.NET 9 otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0