Enumerable.Count Metoda

Definice

Vrátí počet prvků v posloupnosti.

Přetížení

Name Description
Count<TSource>(IEnumerable<TSource>)

Vrátí počet prvků v posloupnosti.

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

Vrátí číslo, které představuje, kolik prvků v zadané sekvenci splňuje podmínku.

Count<TSource>(IEnumerable<TSource>)

Zdroj:
Count.cs
Zdroj:
Count.cs
Zdroj:
Count.cs
Zdroj:
Count.cs
Zdroj:
Count.cs

Vrátí počet prvků v posloupnosti.

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

Parametry typu

TSource

Typ prvků .source

Parametry

source
IEnumerable<TSource>

Posloupnost obsahující prvky, které se mají spočítat.

Návraty

Počet prvků ve vstupní sekvenci

Výjimky

source je null.

Počet prvků je source větší než Int32.MaxValue.

Příklady

Následující příklad kódu ukazuje, jak použít Count<TSource>(IEnumerable<TSource>) k počítání prvků v poli.

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.

Poznámky

Pokud typ source implements ICollection<T>, tato implementace se používá k získání počtu prvků. V opačném případě tato metoda určuje počet.

Použijte metodu LongCount , pokud očekáváte a chcete, aby výsledek byl větší než MaxValue.

V syntaxi výrazu dotazu Visual Basic se klauzule Aggregate Into Count() přeloží na vyvolání Count.

Viz také

Platí pro

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

Zdroj:
Count.cs
Zdroj:
Count.cs
Zdroj:
Count.cs
Zdroj:
Count.cs
Zdroj:
Count.cs

Vrátí číslo, které představuje, kolik prvků v zadané sekvenci splňuje podmínku.

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

Parametry typu

TSource

Typ prvků .source

Parametry

source
IEnumerable<TSource>

Posloupnost obsahující prvky, které se mají testovat a spočítat.

predicate
Func<TSource,Boolean>

Funkce k otestování jednotlivých prvků pro podmínku.

Návraty

Číslo, které představuje, kolik prvků v sekvenci splňuje podmínku v predikát funkce.

Výjimky

source nebo predicate je null.

Počet prvků je source větší než Int32.MaxValue.

Příklady

Následující příklad kódu ukazuje, jak použít Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) k počítání prvků v poli, které splňují podmínku.

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);
        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.

Poznámky

Pokud typ source implements ICollection<T>, tato implementace se používá k získání počtu prvků. V opačném případě tato metoda určuje počet.

Metodu LongCount byste měli použít, když očekáváte a chcete, aby výsledek byl větší než MaxValue.

V syntaxi výrazu dotazu Visual Basic se klauzule Aggregate Into Count() přeloží na vyvolání Count.

Viz také

Platí pro