Enumerable.LongCount 方法

定义

返回表示序列中的元素数量的 Int64

重载

LongCount<TSource>(IEnumerable<TSource>)

返回表示序列中元素总数的 Int64

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

返回表示序列中满足条件的元素的数量的 Int64

LongCount<TSource>(IEnumerable<TSource>)

返回表示序列中元素总数的 Int64

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 的元素类型。

参数

source
IEnumerable<TSource>

包含要进行计数的元素的 IEnumerable<T>

返回

源序列中的元素数量。

例外

sourcenull

元素数超过 Int64.MaxValue

示例

下面的代码示例演示如何使用 LongCount<TSource>(IEnumerable<TSource>) 对数组中的元素进行计数。

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.

注解

使用此方法,而不是 Count 在预期结果大于 MaxValue时使用 。

在 Visual Basic 查询表达式语法中, Aggregate Into LongCount() 子句转换为 的调用 LongCount

另请参阅

适用于

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

返回表示序列中满足条件的元素的数量的 Int64

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 的元素类型。

参数

source
IEnumerable<TSource>

包含要进行计数的元素的 IEnumerable<T>

predicate
Func<TSource,Boolean>

用于测试每个元素是否满足条件的函数。

返回

一个数字,表示序列中满足谓词函数条件的元素数量。

例外

sourcepredicatenull

匹配的元素数超过 Int64.MaxValue

示例

下面的代码示例演示如何使用 LongCount<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) 对满足条件的数组中的元素进行计数。

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

注解

使用此方法,而不是 Count 在预期结果大于 MaxValue时使用 。

在 Visual Basic 查询表达式语法中, Aggregate Into LongCount() 子句转换为 的调用 LongCount

另请参阅

适用于