Enumerable.LongCount Method

Definition

返回表示序列中的元素数量的 Int64Returns an Int64 that represents the number of elements in a sequence.

Overloads

LongCount<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

返回表示序列中满足条件的元素的数量的 Int64Returns an Int64 that represents how many elements in a sequence satisfy a condition.

LongCount<TSource>(IEnumerable<TSource>)

返回表示序列中元素总数的 Int64Returns an Int64 that represents the total number of elements in a sequence.

LongCount<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

返回表示序列中满足条件的元素的数量的 Int64Returns an Int64 that represents how many elements in a sequence satisfy a condition.

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

Type Parameters

TSource

source 的元素类型。The type of the elements of source.

Parameters

source
IEnumerable<TSource>

包含要进行计数的元素的 IEnumerable<T>An IEnumerable<T> that contains the elements to be counted.

predicate
Func<TSource,Boolean>

用于测试每个元素是否满足条件的函数。A function to test each element for a condition.

Returns

Int64

一个数字,表示序列中满足谓词函数条件的元素数量。A number that represents how many elements in the sequence satisfy the condition in the predicate function.

Exceptions

sourcepredicatenullsource or predicate is null.

匹配元素的数量超过 MaxValueThe number of matching elements exceeds MaxValue.

Examples

下面的代码示例演示如何使用 LongCount<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) 来计算数组中满足条件的元素。The following code example demonstrates how to use LongCount<TSource>(IEnumerable<TSource>, 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;

    long count = pets.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

Sub LongCountEx2()
    ' Create a list of Pet objects.
    Dim pets As New List(Of Pet)(New Pet() _
                 {New Pet With {.Name = "Barley", .Age = 8},
                  New Pet With {.Name = "Boots", .Age = 4},
                  New Pet With {.Name = "Whiskers", .Age = 1}})

    ' Determine the number of elements in the list
    ' where the pet's age is greater than a constant value (3).
    Const Age As Integer = 3
    Dim count As Long =
pets.LongCount(Function(pet) pet.Age > Age)

    ' Display the result.
    Console.WriteLine($"There are {count} animals over age {Age}")
End Sub

' This code produces the following output:
'
' There are 2 animals over age 3

Remarks

如果希望结果大于 MaxValue,请使用此方法,而不是 CountUse this method rather than Count when you expect the result to be greater than MaxValue.

在 Visual Basic 查询表达式语法中,Aggregate Into LongCount() 子句会转换为 LongCount调用。In Visual Basic query expression syntax, an Aggregate Into LongCount() clause translates to an invocation of LongCount.

See also

LongCount<TSource>(IEnumerable<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::Collections::Generic::IEnumerable<TSource> ^ source);
public static long LongCount<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);
static member LongCount : seq<'Source> -> int64
<Extension()>
Public Function LongCount(Of TSource) (source As IEnumerable(Of TSource)) As Long

Type Parameters

TSource

source 的元素类型。The type of the elements of source.

Parameters

source
IEnumerable<TSource>

包含要进行计数的元素的 IEnumerable<T>An IEnumerable<T> that contains the elements to be counted.

Returns

Int64

源序列中的元素数量。The number of elements in the source sequence.

Exceptions

sourcenullsource is null.

元素的数量超过 MaxValueThe number of elements exceeds MaxValue.

Examples

下面的代码示例演示如何使用 LongCount<TSource>(IEnumerable<TSource>) 计算数组中元素的数目。The following code example demonstrates how to use LongCount<TSource>(IEnumerable<TSource>) to count the elements in an array.

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

long count = fruits.LongCount();

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

/*
 This code produces the following output:

 There are 6 fruits in the collection.
*/
' Create an array of strings.
Dim fruits() As String =
{"apple", "banana", "mango", "orange", "passionfruit", "grape"}

' Get the number of items in the array.
Dim count As Long = fruits.LongCount()

' Display the result.
Console.WriteLine($"There are {count} fruits in the collection.")

' This code produces the following output:
'
' There are 6 fruits in the collection.

Remarks

如果希望结果大于 MaxValue,请使用此方法,而不是 CountUse this method rather than Count when you expect the result to be greater than MaxValue.

在 Visual Basic 查询表达式语法中,Aggregate Into LongCount() 子句会转换为 LongCount调用。In Visual Basic query expression syntax, an Aggregate Into LongCount() clause translates to an invocation of LongCount.

See also

Applies to