Max(TSource) Metodo (IEnumerable(TSource), Func(TSource, Int32))
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Metodo Enumerable.Max<TSource>(IEnumerable<TSource>, Func<TSource, Int32>)

 

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore Int32 massimo.

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

public static int Max<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, int> selector
)

Parametri

source

Sequenza di valori di cui determinare il valore massimo.

selector

Funzione di trasformazione da applicare a ogni elemento.

Valore restituito

Type: System.Int32

Valore massimo della sequenza.

Parametri di tipo

TSource

Tipo degli elementi di source.

Exception Condition
ArgumentNullException

source o selector è null.

InvalidOperationException

source non contiene elementi.

Il metodo Max<TSource>(IEnumerable<TSource>, Func<TSource, Int32>) utilizza l'implementazione Int32 di IComparable<T> per confrontare valori.

È possibile applicare questo metodo a una sequenza di valori arbitrari se si fornisce una funzione selector che proietta i membri di source in un tipo numerico, specificamente Int32.

Nella sintassi di una espressione di query in Visual Basic, una clausola Aggregate Into Max() viene convertita in una chiamata di Max.

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare l'oggetto Max<TSource>(IEnumerable<TSource>, Func<TSource, Int32>) per determinare il valore massimo di una sequenza di valori proiettati.

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

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

    int max = pets.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 4.5
.NET Framework
Disponibile da 3.5
Portable Class Library
Supportato in: portable .NET platforms
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra:
© 2016 Microsoft