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 Enumerable.Max<TSource>(IEnumerable<TSource>)

 

Data di pubblicazione: ottobre 2016

Restituisce il valore massimo in una sequenza generica.

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

public static TSource Max<TSource>(
	this IEnumerable<TSource> source
)

Parametri

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

Sequenza di valori di cui determinare il valore massimo.

Valore restituito

Type: TSource

Valore massimo della sequenza.

Parametri tipo

TSource

Tipo degli elementi di source.

Exception Condition
ArgumentNullException

source è null.

Se tipo TSource implementa IComparable<T>, Max<TSource>(IEnumerable<TSource>) metodo tale implementazione viene utilizzata per confrontare i valori. In caso contrario, se tipo TSource implementa IComparable, tale implementazione viene utilizzata per confrontare i valori.

Se TSource è un tipo di riferimento e la sequenza di origine è vuota o contiene solo i valori null, questo metodo restituisce null.

In Visual Basic sintassi dell'espressione di query un Aggregate Into Max() clausola viene convertita in una chiamata di Max.

Esempio di codice seguente viene illustrato come utilizzare Max<TSource>(IEnumerable<TSource>) per determinare il valore massimo in una sequenza di IComparable<T> oggetti.

/// <summary>
/// This class implements IComparable to be able to 
/// compare one Pet to another Pet.
/// </summary>
class Pet : IComparable<Pet>
{
    public string Name { get; set; }
    public int Age { get; set; }

    /// <summary>
    /// Compares this Pet to another Pet by 
    /// summing each Pet's age and name length.
    /// </summary>
    /// <param name="other">The Pet to compare this Pet to.</param>
    /// <returns>-1 if this Pet is 'less' than the other Pet, 
    /// 0 if they are equal,
    /// or 1 if this Pet is 'greater' than the other Pet.</returns>
    int IComparable<Pet>.CompareTo(Pet other)
    {
        int sumOther = other.Age + other.Name.Length;
        int sumThis = this.Age + this.Name.Length;

        if (sumOther > sumThis)
            return -1;
        else if (sumOther == sumThis)
            return 0;
        else
            return 1;
    }
}

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

    Pet max = pets.Max();

    Console.WriteLine(
        "The 'maximum' animal is {0}.",
        max.Name);
}

/*
 This code produces the following output:

 The 'maximum' animal is Barley.
*/

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.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: