Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Enumerable.FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>)

 

Publicado: octubre de 2016

Devuelve el primer elemento de la secuencia que satisface una condición o un valor predeterminado si no se encuentra dicho elemento.

Espacio de nombres:   System.Linq
Ensamblado:  System.Core (en System.Core.dll)

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

Parámetros

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

Un IEnumerable<T> para devolver un elemento.

predicate
Type: System.Func<TSource, Boolean>

Función para probar cada elemento de una condición.

Valor devuelto

Type: TSource

default(TSource) si source está vacío o si ningún elemento pasa la prueba especificada por predicate; en caso contrario, el primer elemento de source que pasa la prueba especificada por predicate.

Parámetros de tipo

TSource

Tipo de los elementos de source.

Exception Condition
ArgumentNullException

El valor de source o predicate es null.

El valor predeterminado de referencia y tipos que aceptan valores NULL es null.

En el ejemplo de código siguiente se muestra cómo utilizar FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) pasando un predicado. En la segunda llamada al método, no hay ningún elemento de la matriz que satisfaga la condición.

string[] names = { "Hartono, Tommy", "Adams, Terry", 
                     "Andersen, Henriette Thaulow", 
                     "Hedlund, Magnus", "Ito, Shu" };

string firstLongName = names.FirstOrDefault(name => name.Length > 20);

Console.WriteLine("The first long name is '{0}'.", firstLongName);

string firstVeryLongName = names.FirstOrDefault(name => name.Length > 30);

Console.WriteLine(
    "There is {0} name longer than 30 characters.",
    string.IsNullOrEmpty(firstVeryLongName) ? "not a" : "a");

/*
 This code produces the following output:

 The first long name is 'Andersen, Henriette Thaulow'.
 There is not a name longer than 30 characters.
*/

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 3.5
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: