Enumerable.Count Metodo

Definizione

Restituisce il numero di elementi in una sequenza.

Overload

Count<TSource>(IEnumerable<TSource>)

Restituisce il numero di elementi in una sequenza.

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

Restituisce un valore che rappresenta il numero di elementi nella sequenza specificata che soddisfano una condizione.

Count<TSource>(IEnumerable<TSource>)

Restituisce il numero di elementi in una sequenza.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static int Count(System::Collections::Generic::IEnumerable<TSource> ^ source);
public static int Count<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);
static member Count : seq<'Source> -> int
<Extension()>
Public Function Count(Of TSource) (source As IEnumerable(Of TSource)) As Integer

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza che contiene gli elementi da contare.

Restituisce

Int32

Numero di elementi nella sequenza di input.

Eccezioni

source è null.

Il numero di elementi in source è maggiore di Int32.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Count<TSource>(IEnumerable<TSource>) per contare gli elementi in una matrice.

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.
    Console.WriteLine($"There are {numberOfFruits} fruits in the collection.")
Catch e As OverflowException
    Console.WriteLine("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 di source implementa ICollection<T>, tale implementazione viene utilizzata per ottenere il conteggio degli elementi. In caso contrario, questo metodo determina il conteggio.

Usare il LongCount metodo quando si prevede e si vuole consentire che il risultato sia maggiore di MaxValue.

In Visual Basic sintassi dell'espressione di query, una Aggregate Into Count() clausola viene convertita in una chiamata di Count.

Vedi anche

Si applica a

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

Restituisce un valore che rappresenta il numero di elementi nella sequenza specificata che soddisfano una condizione.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static int Count(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, bool> ^ predicate);
public static int Count<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
static member Count : seq<'Source> * Func<'Source, bool> -> int
<Extension()>
Public Function Count(Of TSource) (source As IEnumerable(Of TSource), predicate As Func(Of TSource, Boolean)) As Integer

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza che contiene gli elementi da sottoporre a test e contare.

predicate
Func<TSource,Boolean>

Funzione per testare ogni elemento rispetto a una condizione.

Restituisce

Int32

Numero che rappresenta quanti elementi nella sequenza specificata soddisfano la condizione nella funzione predicato.

Eccezioni

source o predicate è null.

Il numero di elementi in source è maggiore di Int32.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) per contare gli elementi in una matrice che soddisfano una condizione.

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.
        Console.WriteLine($"There are {numberUnvaccinated} unvaccinated animals.")
    Catch e As OverflowException
        Console.WriteLine("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 di source implementa ICollection<T>, tale implementazione viene utilizzata per ottenere il conteggio degli elementi. In caso contrario, questo metodo determina il conteggio.

È consigliabile usare il LongCount metodo quando si prevede e si vuole consentire che il risultato sia maggiore di MaxValue.

In Visual Basic sintassi dell'espressione di query, una Aggregate Into Count() clausola viene convertita in una chiamata di Count.

Vedi anche

Si applica a