Enumerable.Count Method

Definizione

Restituisce il numero di elementi in una sequenza. Returns the number of elements in a sequence.

Overload

Count<TSource>(IEnumerable<TSource>)

Restituisce il numero di elementi in una sequenza. Returns the number of elements in a sequence.

Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Restituisce un valore che rappresenta il numero di elementi nella sequenza specificata che soddisfano una condizione. Returns a number that represents how many elements in the specified sequence satisfy a condition.

Count<TSource>(IEnumerable<TSource>)

Restituisce il numero di elementi in una sequenza. Returns the number of elements in a sequence.

public static int Count<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);
Parametri di tipo
TSource

Il tipo degli elementi della origine. The type of the elements of source.

Parametri
source
IEnumerable<TSource>

Sequenza che contiene gli elementi da contare. A sequence that contains elements to be counted.

Restituisce

Numero di elementi nella sequenza di input. The number of elements in the input sequence.

Eccezioni

source è null. source is null.

Il numero di elementi in source è maggiore di MaxValue. The number of elements in source is larger than MaxValue.

Esempi

Esempio di codice seguente viene illustrato come utilizzare Count<TSource>(IEnumerable<TSource>) per contare gli elementi in una matrice.The following code example demonstrates how to use Count<TSource>(IEnumerable<TSource>) to count the elements in an array.

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

try
{
    int numberOfFruits = fruits.Count();
    Console.WriteLine(
        "There are {0} fruits in the collection.",
        numberOfFruits);

}
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 6 fruits in the collection. 

' Create an array of strings.
Dim fruits() As String = {"apple", "banana", "mango", "orange", "passionfruit", "grape"}

Try
    ' Count the number of items in the array.
    Dim numberOfFruits As Integer = fruits.Count()
    ' Display the output.
    MsgBox("There are " & numberOfFruits & " fruits in the collection.")
Catch e As OverflowException
    MsgBox("The count is too large to store as an Int32. Try using LongCount() instead.")
End Try

' This code produces the following output:
'
' There are 6 fruits in the collection.

Commenti

Se il tipo della source implementa ICollection<T>, tale implementazione viene utilizzata per ottenere il numero di elementi.If the type of source implements ICollection<T>, that implementation is used to obtain the count of elements. In caso contrario, questo metodo determina il conteggio.Otherwise, this method determines the count.

Usare la LongCount metodo quando si prevede e si vuole consentire il risultato può essere maggiore MaxValue.Use the LongCount method when you expect and want to allow the result to be greater than MaxValue.

In Visual Basic sintassi delle espressioni di query, un Aggregate Into Count() clausola viene convertita in una chiamata di Count.In Visual Basic query expression syntax, an Aggregate Into Count() clause translates to an invocation of Count.

Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Restituisce un valore che rappresenta il numero di elementi nella sequenza specificata che soddisfano una condizione. Returns a number that represents how many elements in the specified sequence satisfy a condition.

public static int Count<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
Parametri di tipo
TSource

Il tipo degli elementi della origine. The type of the elements of source.

Parametri
source
IEnumerable<TSource>

Sequenza che contiene gli elementi da sottoporre a test e contare. A sequence that contains elements to be tested and counted.

predicate
Func<TSource,Boolean>

Funzione per testare ogni elemento rispetto a una condizione. A function to test each element for a condition.

Restituisce

Numero che rappresenta quanti elementi nella sequenza specificata soddisfano la condizione nella funzione predicato. A number that represents how many elements in the sequence satisfy the condition in the predicate function.

Eccezioni

source o predicate è null. source or predicate is null.

Il numero di elementi in source è maggiore di MaxValue. The number of elements in source is larger than MaxValue.

Esempi

Esempio di codice seguente viene illustrato come utilizzare Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) per contare gli elementi in una matrice che soddisfa una condizione.The following code example demonstrates how to use Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) to count the elements in an array that satisfy a condition.

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.

Structure Pet
    Public Name As String
    Public Vaccinated As Boolean
End Structure

Public Shared Sub CountEx2()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Vaccinated = True},
                 New Pet With {.Name = "Boots", .Vaccinated = False},
                 New Pet With {.Name = "Whiskers", .Vaccinated = False}}

    Try
        ' Count the number of Pets in the array where the Vaccinated property is False.
        Dim numberUnvaccinated As Integer =
    pets.Count(Function(p) p.Vaccinated = False)
        ' Display the output.
        MsgBox("There are " & numberUnvaccinated & " unvaccinated animals.")
    Catch e As OverflowException
        MsgBox("The count is too large to store as an Int32. Try using LongCount() instead.")
    End Try

End Sub

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

Commenti

Se il tipo della source implementa ICollection<T>, tale implementazione viene utilizzata per ottenere il numero di elementi.If the type of source implements ICollection<T>, that implementation is used to obtain the count of elements. In caso contrario, questo metodo determina il conteggio.Otherwise, this method determines the count.

È consigliabile usare la LongCount metodo quando si prevede e si vuole consentire il risultato può essere maggiore MaxValue.You should use the LongCount method when you expect and want to allow the result to be greater than MaxValue.

In Visual Basic sintassi delle espressioni di query, un Aggregate Into Count() clausola viene convertita in una chiamata di Count.In Visual Basic query expression syntax, an Aggregate Into Count() clause translates to an invocation of Count.

Si applica a