Enumerable.LongCount<TSource> Method (IEnumerable<TSource>, Func<TSource, Boolean>)
Returns an Int64 that represents how many elements in a sequence satisfy a condition.
Namespace: System.Linq
Assembly: System.Core (in System.Core.dll)
public static long LongCount<TSource>( this IEnumerable<TSource> source, Func<TSource, bool> predicate )
Type Parameters
- TSource
The type of the elements of source.
Parameters
- source
- Type: System.Collections.Generic.IEnumerable<TSource>
An IEnumerable<T> that contains the elements to be counted.
- predicate
- Type: System.Func<TSource, Boolean>
A function to test each element for a condition.
Return Value
Type: System.Int64A number that represents how many elements in the sequence satisfy the condition in the predicate function.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerable<TSource>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).| Exception | Condition |
|---|---|
| ArgumentNullException | source or predicate is null. |
| OverflowException | The number of matching elements exceeds MaxValue. |
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.
*/
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.