The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Enumerable.First<TSource> Method (IEnumerable<TSource>, Func<TSource, Boolean>)


Returns the first element in a sequence that satisfies a specified condition.

Namespace:   System.Linq
Assembly:  System.Core (in System.Core.dll)

public static TSource First<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, bool> predicate


Type: System.Collections.Generic.IEnumerable<TSource>

An IEnumerable<T> to return an element from.

Type: System.Func<TSource, Boolean>

A function to test each element for a condition.

Return Value

Type: TSource

The first element in the sequence that passes the test in the specified predicate function.

Type Parameters


The type of the elements of source.

Exception Condition

source or predicate is null.


No element satisfies the condition in predicate.


The source sequence is empty.

The First<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) method throws an exception if no matching element is found in source. To instead return a default value when no matching element is found, use the FirstOrDefault<TSource> method.

The following code example demonstrates how to use First<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) to return the first element of an array that satisfies a condition.

int[] numbers = { 9, 34, 65, 92, 87, 435, 3, 54, 
                    83, 23, 87, 435, 67, 12, 19 };

int first = numbers.First(number => number > 80);


 This code produces the following output:


Universal Windows Platform
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top