Enumerable.LongCount 方法

定义

返回表示序列中的元素数量的 Int64Returns an Int64 that represents the 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.

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

类型参数

TSource

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

参数

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.

返回

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

例外

sourcepredicatenullsource or predicate is null.

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

示例

下面的代码示例演示如何使用 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

注解

如果希望结果大于 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.

另请参阅

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

类型参数

TSource

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

参数

source
IEnumerable<TSource>

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

返回

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

例外

sourcenullsource is null.

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

示例

下面的代码示例演示如何使用 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.

注解

如果希望结果大于 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.

另请参阅

适用于