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.LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>)

 

Publicado: octubre de 2016

Devuelve el último elemento de una 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 LastOrDefault<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 la secuencia está vacía o si ningún elemento pasa la prueba de la función de predicado; en caso contrario, el último elemento que pasa la prueba de la función de predicado.

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 LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) pasando un predicado. En la segunda llamada al método, no hay ningún elemento en la secuencia que satisface la condición.

double[] numbers = { 49.6, 52.3, 51.0, 49.4, 50.2, 48.3 };

double last50 = numbers.LastOrDefault(n => Math.Round(n) == 50.0);

Console.WriteLine("The last number that rounds to 50 is {0}.", last50);

double last40 = numbers.LastOrDefault(n => Math.Round(n) == 40.0);

Console.WriteLine(
    "The last number that rounds to 40 is {0}.",
    last40 == 0.0 ? "<DOES NOT EXIST>" : last40.ToString());

/*
 This code produces the following output:

 The last number that rounds to 50 is 50.2.
 The last number that rounds to 40 is <DOES NOT EXIST>.
*/

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: