Queryable.LongCount Methode

Definitie

Retourneert een Int64 waarde die het aantal elementen op volgorde aangeeft.

Overloads

Name Description
LongCount<TSource>(IQueryable<TSource>)

Retourneert een Int64 waarde die het totale aantal elementen in een reeks vertegenwoordigt.

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

Retourneert een Int64 waarde die het aantal elementen in een reeks vertegenwoordigt dat voldoet aan een voorwaarde.

LongCount<TSource>(IQueryable<TSource>)

Retourneert een Int64 waarde die het totale aantal elementen in een reeks vertegenwoordigt.

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

Type parameters

TSource

Het type van de elementen van source.

Parameters

source
IQueryable<TSource>

Een IQueryable<T> die de elementen bevat die moeten worden geteld.

Retouren

Het aantal elementen in source.

Uitzonderingen

source is null.

Het aantal elementen overschrijdt Int64.MaxValue.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe LongCount<TSource>(IQueryable<TSource>) u de elementen in een matrix kunt tellen.

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.

Opmerkingen

De LongCount<TSource>(IQueryable<TSource>) methode genereert een MethodCallExpression die zichzelf aanroept LongCount<TSource>(IQueryable<TSource>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.

Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept LongCount<TSource>(IQueryable<TSource>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het aantal items in source telt en een Int64retourneert.

Van toepassing op

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

Retourneert een Int64 waarde die het aantal elementen in een reeks vertegenwoordigt dat voldoet aan een voorwaarde.

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

Type parameters

TSource

Het type van de elementen van source.

Parameters

source
IQueryable<TSource>

Een IQueryable<T> die de elementen bevat die moeten worden geteld.

predicate
Expression<Func<TSource,Boolean>>

Een functie om elk element voor een voorwaarde te testen.

Retouren

Het aantal elementen in source die voldoen aan de voorwaarde in de predicaatfunctie.

Uitzonderingen

source of predicate is null.

Het aantal overeenkomende elementen overschrijdt Int64.MaxValue.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) u de elementen in een matrix kunt tellen die voldoen aan een voorwaarde.

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.

Opmerkingen

Deze methode heeft ten minste één parameter van het type Expression<TDelegate> waarvan het typeargument een van de Func<T,TResult> typen is. Voor deze parameters kunt u een lambda-expressie doorgeven en deze wordt gecompileerd naar een Expression<TDelegate>.

De LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) methode genereert een MethodCallExpression die zichzelf aanroept LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.

Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat hiermee het aantal items wordt source geteld dat voldoet aan de voorwaarde die is opgegeven door predicate en een retourneert Int64.

Van toepassing op