Enumerable.LongCount<TSource> Method (IEnumerable<TSource>, Func<TSource, Boolean>)
Returns an Int64 that represents how many elements in a sequence satisfy a condition.
Assembly: System.Core (in System.Core.dll)
public static long LongCount<TSource>( this IEnumerable<TSource> source, Func<TSource, bool> predicate )
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.
Type Parameters
- TSource
The type of the elements of source.
| Exception | Condition |
|---|---|
| ArgumentNullException | source or predicate is null. |
| OverflowException | The number of matching elements exceeds MaxValue. |
Use this method rather than Count<TSource> when you expect the result to be greater than MaxValue.
In Visual Basic query expression syntax, an Aggregate Into LongCount() clause translates to an invocation of LongCount<TSource>.
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. */
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1