Enumerable.Count Metoda

Definicja

Zwraca liczbę elementów w sekwencji.Returns the number of elements in a sequence.

Przeciążenia

Count<TSource>(IEnumerable<TSource>)

Zwraca liczbę elementów w sekwencji.Returns the number of elements in a sequence.

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

Zwraca liczbę reprezentującą liczbę elementów w określonej sekwencji spełniających warunek.Returns a number that represents how many elements in the specified sequence satisfy a condition.

Count<TSource>(IEnumerable<TSource>)

Zwraca liczbę elementów w sekwencji.Returns the number of elements in a sequence.

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 elementów source.The type of the elements of source.

Parametry

source
IEnumerable<TSource>

Sekwencja, która zawiera elementy do zliczenia.A sequence that contains elements to be counted.

Zwraca

Liczba elementów w sekwencji wejściowej.The number of elements in the input sequence.

Wyjątki

source jest null.source is null.

Liczba elementów w source jest większa niż MaxValue.The number of elements in source is larger than MaxValue.

Przykłady

Poniższy przykład kodu demonstruje, jak używać Count<TSource>(IEnumerable<TSource>) do zliczania elementów w tablicy.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.
    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.

Uwagi

Jeśli typ source implementuje ICollection<T>, ta implementacja jest używana w celu uzyskania liczby elementów.If the type of source implements ICollection<T>, that implementation is used to obtain the count of elements. W przeciwnym razie ta metoda określa liczbę.Otherwise, this method determines the count.

Użyj metody LongCount, gdy oczekiwano, i chcesz zezwolić na to, aby wynik był większy niż MaxValue.Use the LongCount method when you expect and want to allow the result to be greater than MaxValue.

W Visual Basic składni wyrażenia zapytania, klauzula Aggregate Into Count() tłumaczy na wywołanie Count.In Visual Basic query expression syntax, an Aggregate Into Count() clause translates to an invocation of Count.

Zobacz też

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

Zwraca liczbę reprezentującą liczbę elementów w określonej sekwencji spełniających warunek.Returns a number that represents how many elements in the specified sequence satisfy a condition.

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 elementów source.The type of the elements of source.

Parametry

source
IEnumerable<TSource>

Sekwencja, która zawiera elementy do przetestowania i zliczenia.A sequence that contains elements to be tested and counted.

predicate
Func<TSource,Boolean>

Funkcja testowania każdego elementu na stanie.A function to test each element for a condition.

Zwraca

Liczba, która reprezentuje, ile elementów w sekwencji spełnia warunek w funkcji predykatu.A number that represents how many elements in the sequence satisfy the condition in the predicate function.

Wyjątki

nullsource lub predicate.source or predicate is null.

Liczba elementów w source jest większa niż MaxValue.The number of elements in source is larger than MaxValue.

Przykłady

Poniższy przykład kodu demonstruje, jak używać Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) do zliczania elementów w tablicy, które spełniają warunek.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.
        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.

Uwagi

Jeśli typ source implementuje ICollection<T>, ta implementacja jest używana w celu uzyskania liczby elementów.If the type of source implements ICollection<T>, that implementation is used to obtain the count of elements. W przeciwnym razie ta metoda określa liczbę.Otherwise, this method determines the count.

Należy użyć metody LongCount, gdy oczekiwano, i chcesz zezwolić na to, aby wynik był większy niż MaxValue.You should use the LongCount method when you expect and want to allow the result to be greater than MaxValue.

W Visual Basic składni wyrażenia zapytania, klauzula Aggregate Into Count() tłumaczy na wywołanie Count.In Visual Basic query expression syntax, an Aggregate Into Count() clause translates to an invocation of Count.

Zobacz też

Dotyczy