Freigeben über


Queryable.LongCount Methode

Definition

Gibt ein Int64 zurück, das die Anzahl der Elemente in einer Sequenz darstellt.

Überlädt

LongCount<TSource>(IQueryable<TSource>)

Gibt ein Int64 zurück, das die Gesamtanzahl der Elemente in einer Sequenz darstellt

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

Gibt ein Int64 zurück, das die Anzahl der Elemente in einer Sequenz darstellt, die eine Bedingung erfüllen.

LongCount<TSource>(IQueryable<TSource>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Gibt ein Int64 zurück, das die Gesamtanzahl der Elemente in einer Sequenz darstellt

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

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

Gibt zurück

Die Anzahl von Elementen in source.

Ausnahmen

source ist null.

Die Anzahl der Elemente überschreitet Int64.MaxValue.

Beispiele

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

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

long count = fruits.AsQueryable().LongCount();

Console.WriteLine("There are {0} fruits in the collection.", count);

/*
    This code produces the following output:

    There are 6 fruits in the collection.
*/
Dim fruits() As String = {"apple", "banana", "mango", _
                      "orange", "passionfruit", "grape"}

Dim count As Long = fruits.AsQueryable().LongCount()

MsgBox(String.Format("There are {0} fruits in the collection.", count))

' This code produces the following output:

' There are 6 fruits in the collection.

Hinweise

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

Das Abfrageverhalten, das beim Ausführen einer Ausdrucksstruktur auftritt, die den Aufruf LongCount<TSource>(IQueryable<TSource>) darstellt, hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass die Anzahl der Elemente in source gezählt und ein Int64zurückgegeben wird.

Gilt für:

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

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Gibt ein Int64 zurück, das die Anzahl der Elemente in einer Sequenz darstellt, die eine Bedingung erfüllen.

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

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

predicate
Expression<Func<TSource,Boolean>>

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

Gibt zurück

Die Anzahl der Elemente in source, die die Bedingung in der Prädikatfunktion erfüllen.

Ausnahmen

source oder predicate ist null.

Die Anzahl der übereinstimmenden Elemente überschreitet Int64.MaxValue.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) , um die Elemente in einem Array zu zählen, die eine Bedingung erfüllen.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void LongCountEx2()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    const int Age = 3;

    // Count the number of Pet objects where Pet.Age is greater than 3.
    long count = pets.AsQueryable().LongCount(pet => pet.Age > Age);

    Console.WriteLine("There are {0} animals over age {1}.", count, Age);
}

/*
    This code produces the following output:

    There are 2 animals over age 3.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Shared Sub LongCountEx2()
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8}, _
                       New Pet With {.Name = "Boots", .Age = 4}, _
                       New Pet With {.Name = "Whiskers", .Age = 1}}

    Const Age As Integer = 3

    ' Count the number of Pet objects where Pet.Age is greater than 3.
    Dim count As Long = pets.AsQueryable().LongCount(Function(Pet) Pet.Age > Age)

    MsgBox(String.Format("There are {0} animals over age {1}.", count, Age))
End Sub

' This code produces the following output:

' There are 2 animals over age 3.

Hinweise

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 Lambdaausdruck übergeben, der zu einem Expression<TDelegate>kompiliert wird.

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

Das Abfrageverhalten, das beim Ausführen einer Ausdrucksstruktur auftritt, die den Aufruf LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) darstellt, hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass die Anzahl der Elemente in source zählt, die die von predicate angegebene Bedingung erfüllen, und ein Int64zurückgibt.

Gilt für: