Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Queryable.LastOrDefault<TSource> (IQueryable<TSource>, Expression<Func<TSource, Boolean>>)

 

Restituisce l'ultimo elemento di una sequenza che soddisfa una condizione specificata o un valore predefinito se tale elemento non viene trovato.

Spazio dei nomi:   System.Linq
Assembly:  System.Core (in System.Core.dll)

public static TSource LastOrDefault<TSource>(
	this IQueryable<TSource> source,
	Expression<Func<TSource, bool>> predicate
)

Parametri

source
Type: System.Linq.IQueryable<TSource>

Un IQueryable<T> per restituire un elemento.

predicate
Type: System.Linq.Expressions.Expression<Func<TSource, Boolean>>

Funzione per testare ogni elemento rispetto a una condizione.

Valore restituito

Type: TSource

default(TSource) se source è vuoto o se nessun elemento supera il test nella funzione predicativa; in caso contrario, l'ultimo elemento di source che supera il test nella funzione predicativa.

Parametri tipo

TSource

Tipo degli elementi di source.

Exception Condition
ArgumentNullException

source o predicate è null.

Questo metodo contiene almeno un parametro di tipo Expression<TDelegate> il cui argomento di tipo è uno del Func<T, TResult> tipi. Per questi parametri, è possibile passare un'espressione lambda e verrà compilato in un Expression<TDelegate>.

Il LastOrDefault<TSource>(IQueryable<TSource>) metodo genera un MethodCallExpression che rappresenta una chiamata LastOrDefault<TSource>(IQueryable<TSource>) stesso come un metodo generico costruito. Passa quindi il MethodCallExpression per il Execute<TResult>(Expression) metodo il IQueryProvider rappresentato dal Provider proprietà del source parametro.

Il comportamento della query che si verifica in seguito all'esecuzione di una struttura ad albero dell'espressione che rappresenta una chiamata LastOrDefault<TSource>(IQueryable<TSource>) dipende dall'implementazione del tipo di source parametro. Il comportamento previsto è che restituisce l'ultimo elemento source che soddisfa la condizione specificata da predicate. Restituisce un valore predefinito se non esiste nessun tale elemento in source.

Esempio di codice seguente viene illustrato come utilizzare LastOrDefault<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) passando un predicato. Nella seconda chiamata al metodo, non è presente alcun elemento nella sequenza che soddisfa la condizione.

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

// Get the last number in the array that rounds to 50.0,
// or else the default value for type double (0.0).
double last50 =
    numbers.AsQueryable().LastOrDefault(n => Math.Round(n) == 50.0);

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

// Get the last number in the array that rounds to 40.0,
// or else the default value for type double (0.0).
double last40 =
    numbers.AsQueryable().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].
*/

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 3.5
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.1
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: