Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Enumerable.Count<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>)

 

Publicado: octubre de 2016

Devuelve un número que representa cuántos elementos de la secuencia especificada satisfacen una condición.

Espacio de nombres:   System.Linq
Ensamblado:  System.Core (en System.Core.dll)

public static int Count<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, bool> predicate
)

Parámetros

source
Type: System.Collections.Generic.IEnumerable<TSource>

Secuencia que contiene los elementos para probar y contar.

predicate
Type: System.Func<TSource, Boolean>

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

Valor devuelto

Type: System.Int32

Un número que representa cuántos elementos de la secuencia especificada satisfacen la condición de la función de predicado.

Parámetros de tipo

TSource

Tipo de los elementos de source.

Exception Condition
ArgumentNullException

El valor de source o predicate es null.

OverflowException

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

Si el tipo de source implementa ICollection<T>, esa implementación se utiliza para obtener el recuento de elementos. De lo contrario, este método determina el recuento.

Debe utilizar el LongCount<TSource> método cuando se espera y desea permitir que el resultado sea mayor que MaxValue.

En Visual Basic sintaxis de expresiones de consulta un Aggregate Into Count() cláusula se convierte en una invocación de Count.

En el ejemplo de código siguiente se muestra cómo utilizar Count<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) para contar los elementos de una matriz que satisface una condición.

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

public static void CountEx2()
{
    Pet[] pets = { new Pet { Name="Barley", Vaccinated=true },
                   new Pet { Name="Boots", Vaccinated=false },
                   new Pet { Name="Whiskers", Vaccinated=false } };

    try
    {
        int numberUnvaccinated = pets.Count(p => p.Vaccinated == false);
        Console.WriteLine("There are {0} unvaccinated animals.", numberUnvaccinated);
    }
    catch (OverflowException)
    {
        Console.WriteLine("The count is too large to store as an Int32.");
        Console.WriteLine("Try using the LongCount() method instead.");
    }
}

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

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 3.5
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: