Legend

Class
Struct
Enum
Interface
Delegate
Constructor
Method
Property
Event
Field

Extension method: TResult FirstOrDefault<TSource, TResult>(this IEnumerable<TSource>, Func<TSource, bool>, Func<TSource, TResult>, TResult)

Declaration

public static TResult FirstOrDefault<TSource, TResult>(
    this IEnumerable<TSource> source,
    Func<TSource, bool> predicate,
    Func<TSource, TResult> resultSelector,
    TResult default
)

Summary

Returns the first element of a sequence, or a default value if the sequence contains no elements.

Generic type parameters

TSource The type of the elements of source.
TResult The type of the resulting value.

Parameters

this IEnumerable<TSource>source The IEnumerable<T> to return the first element of.
Func<TSource, bool>predicate A function to test each element for a condition.
Func<TSource, TResult>resultSelector A function to transform the first element into the result value. Will only be called if the sequence contains an element that passes the test specified by predicate.
TResultdefault The default value to return if the sequence contains no elements.

Returns

default if source is empty or if no element passes the test specified by predicate; otherwise, the transformed first element in source that passes the test specified by predicate.