Enumerable.Count Methode

Definition

Gibt die Anzahl der Elemente in einer Sequenz zurück

Überlädt

Count<TSource>(IEnumerable<TSource>)

Gibt die Anzahl der Elemente in einer Sequenz zurück

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

Gibt eine Zahl zurück, die die Anzahl der Elemente in der angegebenen Sequenz angibt, die eine Bedingung erfüllen

Count<TSource>(IEnumerable<TSource>)

Gibt die Anzahl der Elemente in einer Sequenz zurück

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Eine Sequenz, die zu zählende Elemente enthält.

Gibt zurück

Die Anzahl der Elemente in der Eingabesequenz.

Ausnahmen

source ist null.

Die Anzahl der Elemente in source ist größer als Int32.MaxValue.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden Count<TSource>(IEnumerable<TSource>) , um die Elemente in einem Array zu zählen.

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.

Hinweise

Wenn der Typ von source implementiert ICollection<T>, wird diese Implementierung verwendet, um die Anzahl der Elemente abzurufen. Andernfalls bestimmt diese Methode die Anzahl.

Verwenden Sie die LongCount -Methode, wenn Sie erwarten und zulassen möchten, dass das Ergebnis größer als MaxValueist.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Count() -Klausel in einen Aufruf von Countübersetzt.

Weitere Informationen

Gilt für:

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

Gibt eine Zahl zurück, die die Anzahl der Elemente in der angegebenen Sequenz angibt, die eine Bedingung erfüllen

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Eine Sequenz, die Elemente enthält, die überprüft und gezählt werden sollen

predicate
Func<TSource,Boolean>

Eine Funktion, mit der jedes Element auf eine Bedingung überprüft wird.

Gibt zurück

Eine Zahl, die die Anzahl der Elemente in der Sequenz darstellt, die die Bedingung in der Prädikatfunktion erfüllen.

Ausnahmen

source oder predicate ist null.

Die Anzahl der Elemente in source ist größer als Int32.MaxValue.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie mit Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) die Elemente in einem Array gezählt werden, die eine Bedingung erfüllen.

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.

Hinweise

Wenn der Typ von source implementiert ICollection<T>, wird diese Implementierung verwendet, um die Anzahl der Elemente abzurufen. Andernfalls bestimmt diese Methode die Anzahl.

Sie sollten die LongCount -Methode verwenden, wenn Sie erwarten und zulassen möchten, dass das Ergebnis größer als MaxValueist.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Count() -Klausel in einen Aufruf von Countübersetzt.

Weitere Informationen

Gilt für: