Count(TSource) Methode (IQueryable(TSource), Expression(Func(TSource, Boolean)))
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Queryable.Count<TSource>-Methode (IQueryable<TSource>, Expression<Func<TSource, Boolean>>)

.NET Framework (current version)
 

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

Namespace:   System.Linq
Assembly:  System.Core (in System.Core.dll)

public static int Count<TSource>(
	this IQueryable<TSource> source,
	Expression<Func<TSource, bool>> predicate
)

Parameter

source

Ein IQueryable<T>, das die zu zählenden Elemente enthält.

predicate

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

Rückgabewert

Type: System.Int32

Die Anzahl von Elementen in der Sequenz, die die Bedingung in der Prädikatfunktion erfüllen.

Typparameter

TSource

Der Typ der Elemente von source.

Exception Condition
ArgumentNullException

source oder predicate ist null.

OverflowException

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

Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate>, dessen Typargument einer der Func<T, TResult>-Typen ist.Für diese Parameter können Sie einen Lambda-Ausdruck übergeben, und dieser wird zu einer Expression<TDelegate> kompiliert.

Die Count<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>)-Methode generiert einen MethodCallExpression, der den Aufruf von Count<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) durch sich selbst als konstruierte generische Methode darstellt.Anschließend übergibt sie die MethodCallExpression an die Execute<TResult>(Expression)-Methode des IQueryProvider, der von der Provider-Eigenschaft des source-Parameters dargestellt wird.

Das Abfrageverhalten, das durch das Ausführen einer Ausdrucksbaumstruktur auftritt, die einen Aufruf von Count<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.Es wird erwartet, dass die Anzahl der Elemente in source gezählt wird, die die von predicate angegebene Bedingung erfüllen.

Im folgenden Codebeispiel wird veranschaulicht, wie Sie mit Count<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) die Elemente in einer Sequenz zählen, die eine Bedingung erfüllen.

class Pet
{
    public string Name { get; set; }
    public bool Vaccinated { get; set; }
}

public static void CountEx2()
{
    // Create an array of Pet objects.
    Pet[] pets = { new Pet { Name="Barley", Vaccinated=true },
                   new Pet { Name="Boots", Vaccinated=false },
                   new Pet { Name="Whiskers", Vaccinated=false } };

    // Count the number of unvaccinated pets in the array.
    int numberUnvaccinated =
        pets.AsQueryable().Count(p => p.Vaccinated == false);

    Console.WriteLine(
        "There are {0} unvaccinated animals.",
        numberUnvaccinated);
}

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

Universal Windows Platform
Verfügbar seit 4.5
.NET Framework
Verfügbar seit 3.5
Portable Class Library
Unterstützt in: portable .NET platforms
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.1
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen:
© 2016 Microsoft