Queryable.LongCount Metodo

Definizione

Restituisce un oggetto Int64 che rappresenta il numero di elementi in una sequenza.Returns an Int64 that represents the number of elements in sequence.

Overload

LongCount<TSource>(IQueryable<TSource>)

Restituisce un oggetto Int64 che rappresenta il numero totale di elementi in una sequenza.Returns an Int64 that represents the total number of elements in a sequence.

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

Restituisce un oggetto Int64 che rappresenta il numero di elementi in una sequenza che soddisfano una condizione.Returns an Int64 that represents the number of elements in a sequence that satisfy a condition.

LongCount<TSource>(IQueryable<TSource>)

Restituisce un oggetto Int64 che rappresenta il numero totale di elementi in una sequenza.Returns an Int64 that represents the total number of elements in a sequence.

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

Parametri di tipo

TSource

Tipo degli elementi di source.The type of the elements of source.

Parametri

source
IQueryable<TSource>

Oggetto IQueryable<T> che contiene gli elementi da contare.An IQueryable<T> that contains the elements to be counted.

Restituisce

Int64

Numero di elementi in source.The number of elements in source.

Eccezioni

source è null.source is null.

Il numero di elementi è maggiore di MaxValue.The number of elements exceeds MaxValue.

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare LongCount<TSource>(IQueryable<TSource>) per conteggiare gli elementi di una matrice.The following code example demonstrates how to use LongCount<TSource>(IQueryable<TSource>) to count the elements in an array.

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.

Commenti

Il LongCount<TSource>(IQueryable<TSource>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata a LongCount<TSource>(IQueryable<TSource>) se stesso come metodo generico costruito.The LongCount<TSource>(IQueryable<TSource>) method generates a MethodCallExpression that represents calling LongCount<TSource>(IQueryable<TSource>) itself as a constructed generic method. Passa quindi al MethodCallExpression Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che rappresenta la chiamata LongCount<TSource>(IQueryable<TSource>) dipende dall'implementazione del tipo di source parametro.The query behavior that occurs as a result of executing an expression tree that represents calling LongCount<TSource>(IQueryable<TSource>) depends on the implementation of the type of the source parameter. Il comportamento previsto è che conta il numero di elementi in source e restituisce un Int64 .The expected behavior is that it counts the number of items in source and returns an Int64.

Si applica a

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

Restituisce un oggetto Int64 che rappresenta il numero di elementi in una sequenza che soddisfano una condizione.Returns an Int64 that represents the number of elements in a sequence that satisfy a condition.

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

Parametri di tipo

TSource

Tipo degli elementi di source.The type of the elements of source.

Parametri

source
IQueryable<TSource>

Oggetto IQueryable<T> che contiene gli elementi da contare.An IQueryable<T> that contains the elements to be counted.

predicate
Expression<Func<TSource,Boolean>>

Funzione per testare ogni elemento rispetto a una condizione.A function to test each element for a condition.

Restituisce

Int64

Il numero di elementi in source che soddisfa la condizione nella funzione predicativa.The number of elements in source that satisfy the condition in the predicate function.

Eccezioni

source o predicate è null.source or predicate is null.

Il numero di elementi corrispondenti è maggiore di MaxValue.The number of matching elements exceeds MaxValue.

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) per conteggiare gli elementi di una matrice che soddisfano una condizione.The following code example demonstrates how to use LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) to count the elements in an array that satisfy a condition.

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.

Commenti

Questo metodo ha almeno un parametro di tipo Expression<TDelegate> il cui argomento di tipo è uno dei Func<T,TResult> tipi.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Per questi parametri, è possibile passare un'espressione lambda che verrà compilata in un oggetto Expression<TDelegate> .For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Il LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata a LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) se stesso come metodo generico costruito.The LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) method generates a MethodCallExpression that represents calling LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) itself as a constructed generic method. Passa quindi al MethodCallExpression Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che rappresenta la chiamata LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) dipende dall'implementazione del tipo di source parametro.The query behavior that occurs as a result of executing an expression tree that represents calling LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) depends on the implementation of the type of the source parameter. Il comportamento previsto è che conta il numero di elementi in source che soddisfano la condizione specificata da predicate e restituisce un oggetto Int64 .The expected behavior is that it counts the number of items in source that satisfy the condition specified by predicate and returns an Int64.

Si applica a