Enumerable.LongCount<TSource> Method (IEnumerable<TSource>, Func<TSource, Boolean>)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
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 )
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.| 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);
outputBlock.Text += String.Format("There are {0} animals over age {1}.", count, Age) + "\n";
}
/*
This code produces the following output:
There are 2 animals over age 3.
*/