Queryable.LongCount Queryable.LongCount Queryable.LongCount Queryable.LongCount Method

定義

傳回代表序列中項目數目的 Int64Returns an Int64 that represents the number of elements in sequence.

多載

LongCount<TSource>(IQueryable<TSource>) LongCount<TSource>(IQueryable<TSource>) LongCount<TSource>(IQueryable<TSource>) LongCount<TSource>(IQueryable<TSource>)

傳回代表序列中項目總數的 Int64Returns an Int64 that represents the total number of elements in a sequence.

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

傳回 Int64,其代表序列中符合條件的項目數目。Returns an Int64 that represents the number of elements in a sequence that satisfy a condition.

LongCount<TSource>(IQueryable<TSource>) LongCount<TSource>(IQueryable<TSource>) LongCount<TSource>(IQueryable<TSource>) LongCount<TSource>(IQueryable<TSource>)

傳回代表序列中項目總數的 Int64Returns 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

類型參數

TSource

source 項目的類型。The type of the elements of source.

參數

source
IQueryable<TSource>

包含要計算之項目的 IQueryable<T>An IQueryable<T> that contains the elements to be counted.

傳回

source 中的元素數目。The number of elements in source.

例外狀況

項目數目超出 MaxValueThe number of elements exceeds MaxValue.

範例

下列程式碼範例示範如何使用LongCount<TSource>(IQueryable<TSource>)來計算陣列中的元素。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.

備註

方法會產生, 其代表以LongCount<TSource>(IQueryable<TSource>)結構化泛型方法的方式呼叫本身。 MethodCallExpression LongCount<TSource>(IQueryable<TSource>)The LongCount<TSource>(IQueryable<TSource>) method generates a MethodCallExpression that represents calling LongCount<TSource>(IQueryable<TSource>) itself as a constructed generic method. 然後, 它會MethodCallExpression將傳遞Execute<TResult>(Expression)至由Provider source參數IQueryProvider的屬性所表示之的方法。It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

因執行代表呼叫LongCount<TSource>(IQueryable<TSource>)之運算式樹狀架構而產生的查詢行為, 取決於source參數類型的實作為。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. 預期的行為是它會計算中source的專案數, 並Int64傳回。The expected behavior is that it counts the number of items in source and returns an Int64.

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

傳回 Int64,其代表序列中符合條件的項目數目。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

類型參數

TSource

source 項目的類型。The type of the elements of source.

參數

source
IQueryable<TSource>

包含要計算之項目的 IQueryable<T>An IQueryable<T> that contains the elements to be counted.

predicate
Expression<Func<TSource,Boolean>>

用來測試每個項目是否符合條件的函式。A function to test each element for a condition.

傳回

source 中符合述詞函式之條件的項目數目。The number of elements in source that satisfy the condition in the predicate function.

例外狀況

sourcepredicatenullsource or predicate is null.

符合的項目數目超出 MaxValueThe number of matching elements exceeds MaxValue.

範例

下列程式碼範例示範如何使用LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)來計算陣列中滿足條件的元素。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.

備註

這個方法至少有一個類型Expression<TDelegate>的參數, 其類型引數是其中一個Func<T,TResult>類型。This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. 針對這些參數, 您可以傳入 lambda 運算式, 它會編譯成Expression<TDelegate>For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

方法會產生, 其代表以LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)結構化泛型方法的方式呼叫本身。 MethodCallExpression LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)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. 然後, 它會MethodCallExpression將傳遞Execute<TResult>(Expression)至由Provider source參數IQueryProvider的屬性所表示之的方法。It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

因執行代表呼叫LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)之運算式樹狀架構而產生的查詢行為, 取決於source參數類型的實作為。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. 預期的行為是它會計算中source符合所predicate指定之條件的專案數, 並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.

適用於