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.Max<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>)

 

Data di pubblicazione: ottobre 2016

Richiama una funzione di proiezione su ogni elemento di un oggetto generico IQueryable<T> e restituisce il valore massimo risultante.

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

public static TResult Max<TSource, TResult>(
	this IQueryable<TSource> source,
	Expression<Func<TSource, TResult>> selector
)

Parametri

source
Type: System.Linq.IQueryable<TSource>

Una sequenza di valori per determinare il numero massimo di.

selector
Type: System.Linq.Expressions.Expression<Func<TSource, TResult>>

Una funzione di proiezione da applicare a ogni elemento.

Valore restituito

Type: TResult

Valore massimo della sequenza.

Parametri tipo

TSource

Tipo degli elementi di source.

TResult

Il tipo del valore restituito dalla funzione rappresentata da selector.

Exception Condition
ArgumentNullException

source o selector è 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 Max<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) metodo genera un MethodCallExpression che rappresenta una chiamata Max<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) 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 Max<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) dipende dall'implementazione del tipo di source parametro. Il comportamento previsto è che richiami selector su ogni elemento in source e restituisce il valore massimo.

Esempio di codice seguente viene illustrato come utilizzare Max<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) per determinare il valore massimo in una sequenza di valori previsti.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx2()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    // Add Pet.Age to the length of Pet.Name
    // to determine the "maximum" Pet object in the array.
    int max =
        pets.AsQueryable().Max(pet => pet.Age + pet.Name.Length);

    Console.WriteLine(
        "The maximum pet age plus name length is {0}.",
        max);
}

/*
    This code produces the following output:

    The maximum pet age plus name length is 14.
*/

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: