Queryable.Count Methode

Definition

Gibt die Anzahl der Elemente in einer Sequenz zurückReturns the number of elements in a sequence.

Überlädt

Count<TSource>(IQueryable<TSource>)

Gibt die Anzahl der Elemente in einer Sequenz zurückReturns the number of elements in a sequence.

Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

Gibt die Anzahl der Elemente in der angegebenen Sequenz zurück, die eine Bedingung erfüllen.Returns the number of elements in the specified sequence that satisfies a condition.

Count<TSource>(IQueryable<TSource>)

Gibt die Anzahl der Elemente in einer Sequenz zurückReturns the number of elements in a sequence.

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

Typparameter

TSource

Der Typ der Elemente von source.The type of the elements of source.

Parameter

source
IQueryable<TSource>

Das IQueryable<T>, das die zu zählenden Elemente enthält.The IQueryable<T> that contains the elements to be counted.

Gibt zurück

Int32

Die Anzahl der Elemente in der Eingabesequenz.The number of elements in the input sequence.

Ausnahmen

source ist null.source is null.

Die Anzahl der Elemente in source ist größer als MaxValue.The number of elements in source is larger than MaxValue.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie verwendet wird, Count<TSource>(IQueryable<TSource>) um die Elemente in einer Sequenz zu zählen.The following code example demonstrates how to use Count<TSource>(IQueryable<TSource>) to count the elements in a sequence.

string[] fruits = { "apple", "banana", "mango",
                    "orange", "passionfruit", "grape" };

int numberOfFruits = fruits.AsQueryable().Count();

Console.WriteLine(
    "There are {0} items in the array.",
    numberOfFruits);

// This code produces the following output:
//
// There are 6 items in the array.
Dim fruits() As String = {"apple", "banana", "mango", _
                    "orange", "passionfruit", "grape"}

Dim numberOfFruits As Integer = fruits.AsQueryable().Count()

MsgBox(String.Format( _
    "There are {0} items in the array.", _
    numberOfFruits))

' This code produces the following output:
'
' There are 6 items in the array.

Hinweise

Die- Count<TSource>(IQueryable<TSource>) Methode generiert einen, der den MethodCallExpression Aufruf von Count<TSource>(IQueryable<TSource>) sich selbst als konstruierte generische Methode darstellt.The Count<TSource>(IQueryable<TSource>) method generates a MethodCallExpression that represents calling Count<TSource>(IQueryable<TSource>) itself as a constructed generic method. Anschließend übergibt Sie MethodCallExpression an die- Execute<TResult>(Expression) Methode des, das IQueryProvider durch die- Provider Eigenschaft des- source Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von darstellt, Count<TSource>(IQueryable<TSource>) hängt von der Implementierung des Typs des source Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Count<TSource>(IQueryable<TSource>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass die Anzahl der Elemente in gezählt wird source .The expected behavior is that it counts the number of items in source.

Gilt für:

Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

Gibt die Anzahl der Elemente in der angegebenen Sequenz zurück, die eine Bedingung erfüllen.Returns the number of elements in the specified sequence that satisfies a condition.

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

Typparameter

TSource

Der Typ der Elemente von source.The type of the elements of source.

Parameter

source
IQueryable<TSource>

Ein IQueryable<T>, das die zu zählenden Elemente enthältAn IQueryable<T> that contains the elements to be counted.

predicate
Expression<Func<TSource,Boolean>>

Eine Funktion, mit der jedes Element auf eine Bedingung überprüft wird.A function to test each element for a condition.

Gibt zurück

Int32

Die Anzahl von Elementen in der Sequenz, die die Bedingung in der Prädikatfunktion erfüllen.The number of elements in the sequence that satisfies the condition in the predicate function.

Ausnahmen

source oder predicate ist null.source or predicate is null.

Die Anzahl der Elemente in source ist größer als MaxValue.The number of elements in source is larger than MaxValue.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie verwendet wird, Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) um die Elemente in einer Sequenz zu zählen, die eine Bedingung erfüllen.The following code example demonstrates how to use Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) to count the elements in a sequence that satisfy a condition.

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.

Structure Pet
    Public Name As String
    Public Vaccinated As Boolean
End Structure

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}}

    ' Count the number of unvaccinated pets in the array.
    Dim numberUnvaccinated As Integer = pets.AsQueryable().Count(Function(p) p.Vaccinated = False)

    MsgBox(String.Format("There are {0} unvaccinated animals.", numberUnvaccinated))
End Sub

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

Hinweise

Diese Methode verfügt über mindestens einen Parameter des Typs, Expression<TDelegate> dessen Typargument einer der- Func<T,TResult> Typen ist.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben und in einen kompiliert werden Expression<TDelegate> .For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Die- Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Methode generiert einen, der den MethodCallExpression Aufruf von Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) sich selbst als konstruierte generische Methode darstellt.The Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) method generates a MethodCallExpression that represents calling Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) itself as a constructed generic method. Anschließend übergibt Sie MethodCallExpression an die- Execute<TResult>(Expression) Methode des, das IQueryProvider durch die- Provider Eigenschaft des- source Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von darstellt, Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) hängt von der Implementierung des Typs des source Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass die Anzahl der Elemente in gezählt wird source , die die von angegebene Bedingung erfüllen predicate .The expected behavior is that it counts the number of items in source that satisfy the condition specified by predicate.

Gilt für: