Enumerable.Max Metodo

Definizione

Restituisce il valore massimo in una sequenza di valori.

Overload

Max(IEnumerable<Nullable<Int32>>)

Restituisce il valore massimo in una sequenza di valori Int32 nullable.

Max(IEnumerable<Single>)

Restituisce il valore massimo in una sequenza di valori Single.

Max(IEnumerable<Nullable<Single>>)

Restituisce il valore massimo in una sequenza di valori Single nullable.

Max(IEnumerable<Nullable<Int64>>)

Restituisce il valore massimo in una sequenza di valori Int64 nullable.

Max(IEnumerable<Nullable<Double>>)

Restituisce il valore massimo in una sequenza di valori Double nullable.

Max(IEnumerable<Double>)

Restituisce il valore massimo in una sequenza di valori Double.

Max(IEnumerable<Int64>)

Restituisce il valore massimo in una sequenza di valori Int64.

Max(IEnumerable<Int32>)

Restituisce il valore massimo in una sequenza di valori Int32.

Max(IEnumerable<Decimal>)

Restituisce il valore massimo in una sequenza di valori Decimal.

Max(IEnumerable<Nullable<Decimal>>)

Restituisce il valore massimo in una sequenza di valori Decimal nullable.

Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

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

Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

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

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

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

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

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

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

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

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

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

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

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

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

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

Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

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

Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

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

Max<TSource>(IEnumerable<TSource>, IComparer<TSource>)

Restituisce il valore massimo in una sequenza generica.

Max<TSource>(IEnumerable<TSource>)

Restituisce il valore massimo in una sequenza generica.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

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

Max(IEnumerable<Nullable<Int32>>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

Restituisce il valore massimo in una sequenza di valori Int32 nullable.

C#
public static int? Max (this System.Collections.Generic.IEnumerable<int?> source);

Parametri

source
IEnumerable<Nullable<Int32>>

Sequenza di valori Int32 nullable di cui determinare il valore massimo.

Restituisce

Valore di tipo Nullable<Int32> in C# o Nullable(Of Int32) in Visual Basic che corrisponde al valore massimo nella sequenza.

Eccezioni

source è null.

Commenti

Il Max(IEnumerable<Nullable<Int32>>) metodo usa l'implementazione Int32 di IComparable<T> per confrontare i valori.

Se la sequenza di origine è vuota o contiene solo valori che sono null, questa funzione restituisce null.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Single>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

Restituisce il valore massimo in una sequenza di valori Single.

C#
public static float Max (this System.Collections.Generic.IEnumerable<float> source);

Parametri

source
IEnumerable<Single>

Sequenza di valori Single di cui determinare il valore massimo.

Restituisce

Valore massimo della sequenza.

Eccezioni

source è null.

source non contiene elementi.

Commenti

Il Max(IEnumerable<Single>) metodo usa l'implementazione Single di IComparable<T> per confrontare i valori.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Nullable<Single>>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

Restituisce il valore massimo in una sequenza di valori Single nullable.

C#
public static float? Max (this System.Collections.Generic.IEnumerable<float?> source);

Parametri

source
IEnumerable<Nullable<Single>>

Sequenza di valori Single nullable di cui determinare il valore massimo.

Restituisce

Valore di tipo Nullable<Single> in C# o Nullable(Of Single) in Visual Basic che corrisponde al valore massimo nella sequenza.

Eccezioni

source è null.

Commenti

Il Max(IEnumerable<Nullable<Single>>) metodo usa l'implementazione Single di IComparable<T> per confrontare i valori.

Se la sequenza di origine è vuota o contiene solo valori che sono null, questa funzione restituisce null.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Nullable<Int64>>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

Restituisce il valore massimo in una sequenza di valori Int64 nullable.

C#
public static long? Max (this System.Collections.Generic.IEnumerable<long?> source);

Parametri

source
IEnumerable<Nullable<Int64>>

Sequenza di valori Int64 nullable di cui determinare il valore massimo.

Restituisce

Valore di tipo Nullable<Int64> in C# o Nullable(Of Int64) in Visual Basic che corrisponde al valore massimo nella sequenza.

Eccezioni

source è null.

Commenti

Il Max(IEnumerable<Nullable<Int64>>) metodo usa l'implementazione Int64 di IComparable<T> per confrontare i valori.

Se la sequenza di origine è vuota o contiene solo valori che sono null, questa funzione restituisce null.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Nullable<Double>>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

Restituisce il valore massimo in una sequenza di valori Double nullable.

C#
public static double? Max (this System.Collections.Generic.IEnumerable<double?> source);

Parametri

source
IEnumerable<Nullable<Double>>

Sequenza di valori Double nullable di cui determinare il valore massimo.

Restituisce

Valore di tipo Nullable<Double> in C# o Nullable(Of Double) in Visual Basic che corrisponde al valore massimo nella sequenza.

Eccezioni

source è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Max(IEnumerable<Nullable<Double>>) per determinare il valore massimo in una sequenza.

C#
double?[] doubles = { null, 1.5E+104, 9E+103, -2E+103 };

double? max = doubles.Max();

Console.WriteLine("The largest number is {0}.", max);

/*
 This code produces the following output:

 The largest number is 1.5E+104.
*/

Commenti

Il Max(IEnumerable<Nullable<Double>>) metodo usa l'implementazione Double di IComparable<T> per confrontare i valori.

Se la sequenza di origine è vuota o contiene solo valori che sono null, questa funzione restituisce null.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Double>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

Restituisce il valore massimo in una sequenza di valori Double.

C#
public static double Max (this System.Collections.Generic.IEnumerable<double> source);

Parametri

source
IEnumerable<Double>

Sequenza di valori Double di cui determinare il valore massimo.

Restituisce

Valore massimo della sequenza.

Eccezioni

source è null.

source non contiene elementi.

Commenti

Il Max(IEnumerable<Double>) metodo usa l'implementazione Double di IComparable<T> per confrontare i valori.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Int64>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

Restituisce il valore massimo in una sequenza di valori Int64.

C#
public static long Max (this System.Collections.Generic.IEnumerable<long> source);

Parametri

source
IEnumerable<Int64>

Sequenza di valori Int64 di cui determinare il valore massimo.

Restituisce

Valore massimo della sequenza.

Eccezioni

source è null.

source non contiene elementi.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Max(IEnumerable<Int64>) per determinare il valore massimo in una sequenza.

C#
List<long> longs = new List<long> { 4294967296L, 466855135L, 81125L };

long max = longs.Max();

Console.WriteLine("The largest number is {0}.", max);

/*
 This code produces the following output:

 The largest number is 4294967296.
*/

Commenti

Il Max(IEnumerable<Int64>) metodo usa l'implementazione Int64 di IComparable<T> per confrontare i valori.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Int32>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

Restituisce il valore massimo in una sequenza di valori Int32.

C#
public static int Max (this System.Collections.Generic.IEnumerable<int> source);

Parametri

source
IEnumerable<Int32>

Sequenza di valori Int32 di cui determinare il valore massimo.

Restituisce

Valore massimo della sequenza.

Eccezioni

source è null.

source non contiene elementi.

Commenti

Il Max(IEnumerable<Int32>) metodo usa l'implementazione Int32 di IComparable<T> per confrontare i valori.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Decimal>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

Restituisce il valore massimo in una sequenza di valori Decimal.

C#
public static decimal Max (this System.Collections.Generic.IEnumerable<decimal> source);

Parametri

source
IEnumerable<Decimal>

Sequenza di valori Decimal di cui determinare il valore massimo.

Restituisce

Valore massimo della sequenza.

Eccezioni

source è null.

source non contiene elementi.

Commenti

Il Max(IEnumerable<Decimal>) metodo usa l'implementazione Decimal di IComparable<T> per confrontare i valori.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Nullable<Decimal>>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

Restituisce il valore massimo in una sequenza di valori Decimal nullable.

C#
public static decimal? Max (this System.Collections.Generic.IEnumerable<decimal?> source);

Parametri

source
IEnumerable<Nullable<Decimal>>

Sequenza di valori Decimal nullable di cui determinare il valore massimo.

Restituisce

Valore di tipo Nullable<Decimal> in C# o Nullable(Of Decimal) in Visual Basic che corrisponde al valore massimo nella sequenza.

Eccezioni

source è null.

Commenti

Il Max(IEnumerable<Nullable<Decimal>>) metodo usa l'implementazione Decimal di IComparable<T> per confrontare i valori.

Se la sequenza di origine è vuota o contiene solo valori che sono null, questa funzione restituisce null.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

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

C#
public static TResult Max<TSource,TResult> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TResult> selector);
C#
public static TResult? Max<TSource,TResult> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TResult> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

TResult

Tipo del valore restituito dall'oggetto selector.

Parametri

source
IEnumerable<TSource>

Sequenza di valori di cui determinare il valore massimo.

selector
Func<TSource,TResult>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

TResult

Valore massimo della sequenza.

Eccezioni

source o selector è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) per determinare il valore massimo in una sequenza di valori proiettati.

Nota

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto da questo articolo, modificare il corpo della selector funzione.

C#
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.
*/

Commenti

Se il tipo TResult implementa IComparable<T>, questo metodo usa tale implementazione per confrontare i valori. In caso contrario, se il tipo TResult implementa IComparable, tale implementazione viene usata per confrontare i valori.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

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

C#
public static float Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori di cui determinare il valore massimo.

selector
Func<TSource,Single>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Valore massimo della sequenza.

Eccezioni

source o selector è null.

source non contiene elementi.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) per determinare il valore massimo in una sequenza di valori proiettati.

Nota

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto da questo articolo, modificare il corpo della selector funzione.

C#
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.
*/

Commenti

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

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

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

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

C#
public static float? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float?> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori di cui determinare il valore massimo.

selector
Func<TSource,Nullable<Single>>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Valore che corrisponde al valore massimo nella sequenza.

Eccezioni

source o selector è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) per determinare il valore massimo in una sequenza di valori proiettati.

Nota

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto da questo articolo, modificare il corpo della selector funzione.

C#
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.
*/

Commenti

Il Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) metodo usa l'implementazione Single di IComparable<T> per confrontare i valori.

È possibile applicare questo metodo a una sequenza di valori arbitrari se si fornisce una funzione, , che proietta i membri di source in un tipo numerico, selectorin particolare Nullable<Single> in C# o Nullable(Of Single) in Visual Basic.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

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

C#
public static long? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long?> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori di cui determinare il valore massimo.

selector
Func<TSource,Nullable<Int64>>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Valore che corrisponde al valore massimo nella sequenza.

Eccezioni

source o selector è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) per determinare il valore massimo in una sequenza di valori proiettati.

Nota

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto da questo articolo, modificare il corpo della selector funzione.

C#
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.
*/

Commenti

Il Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) metodo usa l'implementazione Int64 di IComparable<T> per confrontare i valori.

È possibile applicare questo metodo a una sequenza di valori arbitrari se si fornisce una funzione, , che proietta i membri di source in un tipo numerico, selectorin particolare Nullable<Int64> in C# o Nullable(Of Int64) in Visual Basic.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

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

C#
public static int? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int?> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori di cui determinare il valore massimo.

selector
Func<TSource,Nullable<Int32>>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Valore di tipo Nullable<Int32> in C# o Nullable(Of Int32) in Visual Basic che corrisponde al valore massimo nella sequenza.

Eccezioni

source o selector è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) per determinare il valore massimo in una sequenza di valori proiettati.

Nota

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto da questo articolo, modificare il corpo della selector funzione.

C#
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.
*/

Commenti

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

È possibile applicare questo metodo a una sequenza di valori arbitrari se si fornisce una funzione, , che proietta i membri di source in un tipo numerico, selectorin particolare Nullable<Int32> in C# o Nullable(Of Int32) in Visual Basic.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

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

C#
public static decimal? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal?> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori di cui determinare il valore massimo.

selector
Func<TSource,Nullable<Decimal>>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Valore di tipo Nullable<Decimal> in C# o Nullable(Of Decimal) in Visual Basic che corrisponde al valore massimo nella sequenza.

Eccezioni

source o selector è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) per determinare il valore massimo in una sequenza di valori proiettati.

Nota

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto da questo articolo, modificare il corpo della selector funzione.

C#
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.
*/

Commenti

Il Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) metodo usa l'implementazione Decimal di IComparable<T> per confrontare i valori.

È possibile applicare questo metodo a una sequenza di valori arbitrari se si fornisce una funzione, , che proietta i membri di source in un tipo numerico, selectorin particolare Nullable<Decimal> in C# o Nullable(Of Decimal) in Visual Basic.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

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

C#
public static double? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double?> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori di cui determinare il valore massimo.

selector
Func<TSource,Nullable<Double>>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Valore di tipo Nullable<Double> in C# o Nullable(Of Double) in Visual Basic che corrisponde al valore massimo nella sequenza.

Eccezioni

source o selector è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) per determinare il valore massimo in una sequenza di valori proiettati.

Nota

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto da questo articolo, modificare il corpo della selector funzione.

C#
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.
*/

Commenti

Il Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) metodo usa l'implementazione Double di IComparable<T> per confrontare i valori.

È possibile applicare questo metodo a una sequenza di valori arbitrari se si fornisce una funzione, , che proietta i membri di source in un tipo numerico, selectorin particolare Nullable<Double> in C# o Nullable(Of Double) in Visual Basic.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

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

C#
public static int Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori di cui determinare il valore massimo.

selector
Func<TSource,Int32>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Valore massimo della sequenza.

Eccezioni

source o selector è null.

source non contiene elementi.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) per determinare il valore massimo in una sequenza di valori proiettati.

C#
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.
*/

Commenti

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

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

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

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

C#
public static double Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori di cui determinare il valore massimo.

selector
Func<TSource,Double>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Valore massimo della sequenza.

Eccezioni

source o selector è null.

source non contiene elementi.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) per determinare il valore massimo in una sequenza di valori proiettati.

Nota

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto da questo articolo, modificare il corpo della selector funzione.

C#
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.
*/

Commenti

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

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

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

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

C#
public static decimal Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori di cui determinare il valore massimo.

selector
Func<TSource,Decimal>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Valore massimo della sequenza.

Eccezioni

source o selector è null.

source non contiene elementi.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) per determinare il valore massimo in una sequenza di valori proiettati.

Nota

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto da questo articolo, modificare il corpo della selector funzione.

C#
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.
*/

Commenti

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

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

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max<TSource>(IEnumerable<TSource>, IComparer<TSource>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

Restituisce il valore massimo in una sequenza generica.

C#
public static TSource? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, System.Collections.Generic.IComparer<TSource>? comparer);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori di cui determinare il valore massimo.

comparer
IComparer<TSource>

Oggetto IComparer<T> per confrontare i valori.

Restituisce

TSource

Valore massimo della sequenza.

Eccezioni

source è null.

Nessun oggetto in source implementa l'interfaccia IComparable o IComparable<T>.

Commenti

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

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

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET 6, 7, 8, 9

Max<TSource>(IEnumerable<TSource>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

Restituisce il valore massimo in una sequenza generica.

C#
public static TSource Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);
C#
public static TSource? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori di cui determinare il valore massimo.

Restituisce

TSource

Valore massimo della sequenza.

Eccezioni

source è null.

Nessun oggetto in source implementa l'interfaccia IComparable o IComparable<T>.

Esempio

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

C#
/// <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.
*/

Commenti

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

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

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Origine:
Max.cs
Origine:
Max.cs
Origine:
Max.cs

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

C#
public static long Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori di cui determinare il valore massimo.

selector
Func<TSource,Int64>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Valore massimo della sequenza.

Eccezioni

source o selector è null.

source non contiene elementi.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) per determinare il valore massimo in una sequenza di valori proiettati.

Nota

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto da questo articolo, modificare il corpo della selector funzione.

C#
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.
*/

Commenti

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

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

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Max() clausola si traduce in una chiamata di Max.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0