Enumerable.Max Méthode

Définition

Retourne la valeur maximale dans une séquence de valeurs.

Surcharges

Nom Description
Max(IEnumerable<Nullable<Single>>)

Retourne la valeur maximale dans une séquence de valeurs nullables Single .

Max(IEnumerable<Int32>)

Retourne la valeur maximale dans une séquence de Int32 valeurs.

Max(IEnumerable<Nullable<Int64>>)

Retourne la valeur maximale dans une séquence de valeurs nullables Int64 .

Max(IEnumerable<Single>)

Retourne la valeur maximale dans une séquence de Single valeurs.

Max(IEnumerable<Nullable<Int32>>)

Retourne la valeur maximale dans une séquence de valeurs nullables Int32 .

Max(IEnumerable<Decimal>)

Retourne la valeur maximale dans une séquence de Decimal valeurs.

Max(IEnumerable<Nullable<Decimal>>)

Retourne la valeur maximale dans une séquence de valeurs nullables Decimal .

Max(IEnumerable<Int64>)

Retourne la valeur maximale dans une séquence de Int64 valeurs.

Max(IEnumerable<Double>)

Retourne la valeur maximale dans une séquence de Double valeurs.

Max(IEnumerable<Nullable<Double>>)

Retourne la valeur maximale dans une séquence de valeurs nullables Double .

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

Appelle une fonction de transformation sur chaque élément d’une séquence générique et retourne la valeur maximale résultante.

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur maximale Single.

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur de Single nullable maximale.

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur de Int64 nullable maximale.

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur de Int32 nullable maximale.

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur de Double nullable maximale.

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur maximale Int64.

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur maximale Int32.

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur maximale Double.

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur maximale Decimal.

Max<TSource>(IEnumerable<TSource>)

Retourne la valeur maximale dans une séquence générique.

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur de Decimal nullable maximale.

Max(IEnumerable<Nullable<Single>>)

Retourne la valeur maximale dans une séquence de valeurs nullables Single .

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<float> Max(System::Collections::Generic::IEnumerable<Nullable<float>> ^ source);
public static float? Max(this System.Collections.Generic.IEnumerable<float?> source);
static member Max : seq<Nullable<single>> -> Nullable<single>
<Extension()>
Public Function Max (source As IEnumerable(Of Nullable(Of Single))) As Nullable(Of Single)

Paramètres

source
IEnumerable<Nullable<Single>>

Séquence de valeurs nullables Single pour déterminer la valeur maximale de.

Retours

Valeur de type Nullable<Single> en C# ou Nullable(Of Single) dans Visual Basic qui correspond à la valeur maximale de la séquence.

Exceptions

source a la valeur null.

Remarques

La Max(IEnumerable<Nullable<Single>>) méthode utilise l’implémentation Single de la comparaison des IComparable<T> valeurs.

Si la séquence source est vide ou contient uniquement des valeurs qui sont null, cette fonction retourne null.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

Max(IEnumerable<Int32>)

Retourne la valeur maximale dans une séquence de Int32 valeurs.

public:
[System::Runtime::CompilerServices::Extension]
 static int Max(System::Collections::Generic::IEnumerable<int> ^ source);
public static int Max(this System.Collections.Generic.IEnumerable<int> source);
static member Max : seq<int> -> int
<Extension()>
Public Function Max (source As IEnumerable(Of Integer)) As Integer

Paramètres

source
IEnumerable<Int32>

Séquence de Int32 valeurs pour déterminer la valeur maximale de.

Retours

Valeur maximale dans la séquence.

Exceptions

source a la valeur null.

source ne contient aucun élément.

Remarques

La Max(IEnumerable<Int32>) méthode utilise l’implémentation Int32 de la comparaison des IComparable<T> valeurs.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

Max(IEnumerable<Nullable<Int64>>)

Retourne la valeur maximale dans une séquence de valeurs nullables Int64 .

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<long> Max(System::Collections::Generic::IEnumerable<Nullable<long>> ^ source);
public static long? Max(this System.Collections.Generic.IEnumerable<long?> source);
static member Max : seq<Nullable<int64>> -> Nullable<int64>
<Extension()>
Public Function Max (source As IEnumerable(Of Nullable(Of Long))) As Nullable(Of Long)

Paramètres

source
IEnumerable<Nullable<Int64>>

Séquence de valeurs nullables Int64 pour déterminer la valeur maximale de.

Retours

Valeur de type Nullable<Int64> en C# ou Nullable(Of Int64) dans Visual Basic qui correspond à la valeur maximale de la séquence.

Exceptions

source a la valeur null.

Remarques

La Max(IEnumerable<Nullable<Int64>>) méthode utilise l’implémentation Int64 de la comparaison des IComparable<T> valeurs.

Si la séquence source est vide ou contient uniquement des valeurs qui sont null, cette fonction retourne null.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

Max(IEnumerable<Single>)

Retourne la valeur maximale dans une séquence de Single valeurs.

public:
[System::Runtime::CompilerServices::Extension]
 static float Max(System::Collections::Generic::IEnumerable<float> ^ source);
public static float Max(this System.Collections.Generic.IEnumerable<float> source);
static member Max : seq<single> -> single
<Extension()>
Public Function Max (source As IEnumerable(Of Single)) As Single

Paramètres

source
IEnumerable<Single>

Séquence de Single valeurs pour déterminer la valeur maximale de.

Retours

Valeur maximale dans la séquence.

Exceptions

source a la valeur null.

source ne contient aucun élément.

Remarques

La Max(IEnumerable<Single>) méthode utilise l’implémentation Single de la comparaison des IComparable<T> valeurs.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

Max(IEnumerable<Nullable<Int32>>)

Retourne la valeur maximale dans une séquence de valeurs nullables Int32 .

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<int> Max(System::Collections::Generic::IEnumerable<Nullable<int>> ^ source);
public static int? Max(this System.Collections.Generic.IEnumerable<int?> source);
static member Max : seq<Nullable<int>> -> Nullable<int>
<Extension()>
Public Function Max (source As IEnumerable(Of Nullable(Of Integer))) As Nullable(Of Integer)

Paramètres

source
IEnumerable<Nullable<Int32>>

Séquence de valeurs nullables Int32 pour déterminer la valeur maximale de.

Retours

Valeur de type Nullable<Int32> en C# ou Nullable(Of Int32) dans Visual Basic qui correspond à la valeur maximale de la séquence.

Exceptions

source a la valeur null.

Remarques

La Max(IEnumerable<Nullable<Int32>>) méthode utilise l’implémentation Int32 de la comparaison des IComparable<T> valeurs.

Si la séquence source est vide ou contient uniquement des valeurs qui sont null, cette fonction retourne null.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

Max(IEnumerable<Decimal>)

Retourne la valeur maximale dans une séquence de Decimal valeurs.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Decimal Max(System::Collections::Generic::IEnumerable<System::Decimal> ^ source);
public static decimal Max(this System.Collections.Generic.IEnumerable<decimal> source);
static member Max : seq<decimal> -> decimal
<Extension()>
Public Function Max (source As IEnumerable(Of Decimal)) As Decimal

Paramètres

source
IEnumerable<Decimal>

Séquence de Decimal valeurs pour déterminer la valeur maximale de.

Retours

Valeur maximale dans la séquence.

Exceptions

source a la valeur null.

source ne contient aucun élément.

Remarques

La Max(IEnumerable<Decimal>) méthode utilise l’implémentation Decimal de la comparaison des IComparable<T> valeurs.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

Max(IEnumerable<Nullable<Decimal>>)

Retourne la valeur maximale dans une séquence de valeurs nullables Decimal .

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<System::Decimal> Max(System::Collections::Generic::IEnumerable<Nullable<System::Decimal>> ^ source);
public static decimal? Max(this System.Collections.Generic.IEnumerable<decimal?> source);
static member Max : seq<Nullable<decimal>> -> Nullable<decimal>
<Extension()>
Public Function Max (source As IEnumerable(Of Nullable(Of Decimal))) As Nullable(Of Decimal)

Paramètres

source
IEnumerable<Nullable<Decimal>>

Séquence de valeurs nullables Decimal pour déterminer la valeur maximale de.

Retours

Valeur de type Nullable<Decimal> en C# ou Nullable(Of Decimal) dans Visual Basic qui correspond à la valeur maximale de la séquence.

Exceptions

source a la valeur null.

Remarques

La Max(IEnumerable<Nullable<Decimal>>) méthode utilise l’implémentation Decimal de la comparaison des IComparable<T> valeurs.

Si la séquence source est vide ou contient uniquement des valeurs qui sont null, cette fonction retourne null.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

Max(IEnumerable<Int64>)

Retourne la valeur maximale dans une séquence de Int64 valeurs.

public:
[System::Runtime::CompilerServices::Extension]
 static long Max(System::Collections::Generic::IEnumerable<long> ^ source);
public static long Max(this System.Collections.Generic.IEnumerable<long> source);
static member Max : seq<int64> -> int64
<Extension()>
Public Function Max (source As IEnumerable(Of Long)) As Long

Paramètres

source
IEnumerable<Int64>

Séquence de Int64 valeurs pour déterminer la valeur maximale de.

Retours

Valeur maximale dans la séquence.

Exceptions

source a la valeur null.

source ne contient aucun élément.

Exemples

L’exemple de code suivant montre comment utiliser Max(IEnumerable<Int64>) pour déterminer la valeur maximale dans une séquence.

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.
*/
' Create a list of Long values.
Dim longs As New List(Of Long)(New Long() _
                           {4294967296L, 466855135L, 81125L})

' Get the maximum value in the list.
Dim max As Long = longs.Max()

' Display the result.
Console.WriteLine($"The largest number is {max}")

' This code produces the following output:
'
' The largest number is 4294967296

Remarques

La Max(IEnumerable<Int64>) méthode utilise l’implémentation Int64 de la comparaison des IComparable<T> valeurs.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

Max(IEnumerable<Double>)

Retourne la valeur maximale dans une séquence de Double valeurs.

public:
[System::Runtime::CompilerServices::Extension]
 static double Max(System::Collections::Generic::IEnumerable<double> ^ source);
public static double Max(this System.Collections.Generic.IEnumerable<double> source);
static member Max : seq<double> -> double
<Extension()>
Public Function Max (source As IEnumerable(Of Double)) As Double

Paramètres

source
IEnumerable<Double>

Séquence de Double valeurs pour déterminer la valeur maximale de.

Retours

Valeur maximale dans la séquence.

Exceptions

source a la valeur null.

source ne contient aucun élément.

Remarques

La Max(IEnumerable<Double>) méthode utilise l’implémentation Double de la comparaison des IComparable<T> valeurs.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

Max(IEnumerable<Nullable<Double>>)

Retourne la valeur maximale dans une séquence de valeurs nullables Double .

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<double> Max(System::Collections::Generic::IEnumerable<Nullable<double>> ^ source);
public static double? Max(this System.Collections.Generic.IEnumerable<double?> source);
static member Max : seq<Nullable<double>> -> Nullable<double>
<Extension()>
Public Function Max (source As IEnumerable(Of Nullable(Of Double))) As Nullable(Of Double)

Paramètres

source
IEnumerable<Nullable<Double>>

Séquence de valeurs nullables Double pour déterminer la valeur maximale de.

Retours

Valeur de type Nullable<Double> en C# ou Nullable(Of Double) dans Visual Basic qui correspond à la valeur maximale de la séquence.

Exceptions

source a la valeur null.

Exemples

L’exemple de code suivant montre comment utiliser Max(IEnumerable<Nullable<Double>>) pour déterminer la valeur maximale dans une séquence.

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.
*/
' Create an array of Nullable Double values.
Dim doubles() As Nullable(Of Double) =
{Nothing, 1.5E+104, 9.0E+103, -2.0E+103}

' Determine the maximum value in the array.
Dim max As Nullable(Of Double) = doubles.Max()

' Display the result.
Console.WriteLine($"The largest number is {max}")

' This code produces the following output:
'
' The largest number is 1.5E+104

Remarques

La Max(IEnumerable<Nullable<Double>>) méthode utilise l’implémentation Double de la comparaison des IComparable<T> valeurs.

Si la séquence source est vide ou contient uniquement des valeurs qui sont null, cette fonction retourne null.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

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

Appelle une fonction de transformation sur chaque élément d’une séquence générique et retourne la valeur maximale résultante.

public:
generic <typename TSource, typename TResult>
[System::Runtime::CompilerServices::Extension]
 static TResult Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, TResult> ^ selector);
public static TResult Max<TSource,TResult>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TResult> selector);
static member Max : seq<'Source> * Func<'Source, 'Result> -> 'Result
<Extension()>
Public Function Max(Of TSource, TResult) (source As IEnumerable(Of TSource), selector As Func(Of TSource, TResult)) As TResult

Paramètres de type

TSource

Type des éléments de source.

TResult

Type de la valeur retournée par selector.

Paramètres

source
IEnumerable<TSource>

Séquence de valeurs pour déterminer la valeur maximale de.

selector
Func<TSource,TResult>

Fonction de transformation à appliquer à chaque élément.

Retours

TResult

Valeur maximale dans la séquence.

Exceptions

source ou selector est null.

Exemples

L’exemple de code suivant montre comment utiliser Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) pour déterminer la valeur maximale dans une séquence de valeurs projetées.

Note

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite par cet article. Pour étendre l’exemple à la surcharge décrite par cet article, modifiez le corps de la selector fonction.

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.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarques

Si le type TResult implémente IComparable<T>, cette méthode utilise cette implémentation pour comparer les valeurs. Sinon, si le type TResult implémente IComparable, cette implémentation est utilisée pour comparer les valeurs.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur maximale Single.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static float Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, float> ^ selector);
public static float Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float> selector);
static member Max : seq<'Source> * Func<'Source, single> -> single
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Single)) As Single

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
IEnumerable<TSource>

Séquence de valeurs pour déterminer la valeur maximale de.

selector
Func<TSource,Single>

Fonction de transformation à appliquer à chaque élément.

Retours

Valeur maximale dans la séquence.

Exceptions

source ou selector est null.

source ne contient aucun élément.

Exemples

L’exemple de code suivant montre comment utiliser Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) pour déterminer la valeur maximale dans une séquence de valeurs projetées.

Note

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite par cet article. Pour étendre l’exemple à la surcharge décrite par cet article, modifiez le corps de la selector fonction.

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.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarques

La Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) méthode utilise l’implémentation Single de la comparaison des IComparable<T> valeurs.

Vous pouvez appliquer cette méthode à une séquence de valeurs arbitraires si vous fournissez une fonction, selectorqui projette les membres d’un source type numérique, en particulier Single.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur de Single nullable maximale.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<float> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<float>> ^ selector);
public static float? Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float?> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<single>> -> Nullable<single>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Single))) As Nullable(Of Single)

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
IEnumerable<TSource>

Séquence de valeurs pour déterminer la valeur maximale de.

selector
Func<TSource,Nullable<Single>>

Fonction de transformation à appliquer à chaque élément.

Retours

Valeur qui correspond à la valeur maximale dans la séquence.

Exceptions

source ou selector est null.

Exemples

L’exemple de code suivant montre comment utiliser Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) pour déterminer la valeur maximale dans une séquence de valeurs projetées.

Note

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite par cet article. Pour étendre l’exemple à la surcharge décrite par cet article, modifiez le corps de la selector fonction.

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.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarques

La Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) méthode utilise l’implémentation Single de la comparaison des IComparable<T> valeurs.

Vous pouvez appliquer cette méthode à une séquence de valeurs arbitraires si vous fournissez une fonction, selector, qui projette les membres de source dans un type numérique, en particulier Nullable<Single> en C# ou Nullable(Of Single) dans Visual Basic.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur de Int64 nullable maximale.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<long> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<long>> ^ selector);
public static long? Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long?> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<int64>> -> Nullable<int64>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Long))) As Nullable(Of Long)

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
IEnumerable<TSource>

Séquence de valeurs pour déterminer la valeur maximale de.

selector
Func<TSource,Nullable<Int64>>

Fonction de transformation à appliquer à chaque élément.

Retours

Valeur qui correspond à la valeur maximale dans la séquence.

Exceptions

source ou selector est null.

Exemples

L’exemple de code suivant montre comment utiliser Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) pour déterminer la valeur maximale dans une séquence de valeurs projetées.

Note

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite par cet article. Pour étendre l’exemple à la surcharge décrite par cet article, modifiez le corps de la selector fonction.

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.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarques

La Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) méthode utilise l’implémentation Int64 de la comparaison des IComparable<T> valeurs.

Vous pouvez appliquer cette méthode à une séquence de valeurs arbitraires si vous fournissez une fonction, selector, qui projette les membres de source dans un type numérique, en particulier Nullable<Int64> en C# ou Nullable(Of Int64) dans Visual Basic.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur de Int32 nullable maximale.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<int> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<int>> ^ selector);
public static int? Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int?> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<int>> -> Nullable<int>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Integer))) As Nullable(Of Integer)

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
IEnumerable<TSource>

Séquence de valeurs pour déterminer la valeur maximale de.

selector
Func<TSource,Nullable<Int32>>

Fonction de transformation à appliquer à chaque élément.

Retours

Valeur de type Nullable<Int32> en C# ou Nullable(Of Int32) dans Visual Basic qui correspond à la valeur maximale de la séquence.

Exceptions

source ou selector est null.

Exemples

L’exemple de code suivant montre comment utiliser Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) pour déterminer la valeur maximale dans une séquence de valeurs projetées.

Note

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite par cet article. Pour étendre l’exemple à la surcharge décrite par cet article, modifiez le corps de la selector fonction.

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.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarques

La Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) méthode utilise l’implémentation Int32 de la comparaison des IComparable<T> valeurs.

Vous pouvez appliquer cette méthode à une séquence de valeurs arbitraires si vous fournissez une fonction, selector, qui projette les membres de source dans un type numérique, en particulier Nullable<Int32> en C# ou Nullable(Of Int32) dans Visual Basic.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur de Double nullable maximale.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<double> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<double>> ^ selector);
public static double? Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double?> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<double>> -> Nullable<double>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Double))) As Nullable(Of Double)

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
IEnumerable<TSource>

Séquence de valeurs pour déterminer la valeur maximale de.

selector
Func<TSource,Nullable<Double>>

Fonction de transformation à appliquer à chaque élément.

Retours

Valeur de type Nullable<Double> en C# ou Nullable(Of Double) dans Visual Basic qui correspond à la valeur maximale de la séquence.

Exceptions

source ou selector est null.

Exemples

L’exemple de code suivant montre comment utiliser Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) pour déterminer la valeur maximale dans une séquence de valeurs projetées.

Note

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite par cet article. Pour étendre l’exemple à la surcharge décrite par cet article, modifiez le corps de la selector fonction.

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.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarques

La Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) méthode utilise l’implémentation Double de la comparaison des IComparable<T> valeurs.

Vous pouvez appliquer cette méthode à une séquence de valeurs arbitraires si vous fournissez une fonction, selector, qui projette les membres de source dans un type numérique, en particulier Nullable<Double> en C# ou Nullable(Of Double) dans Visual Basic.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur maximale Int64.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static long Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, long> ^ selector);
public static long Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long> selector);
static member Max : seq<'Source> * Func<'Source, int64> -> int64
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Long)) As Long

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
IEnumerable<TSource>

Séquence de valeurs pour déterminer la valeur maximale de.

selector
Func<TSource,Int64>

Fonction de transformation à appliquer à chaque élément.

Retours

Valeur maximale dans la séquence.

Exceptions

source ou selector est null.

source ne contient aucun élément.

Exemples

L’exemple de code suivant montre comment utiliser Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) pour déterminer la valeur maximale dans une séquence de valeurs projetées.

Note

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite par cet article. Pour étendre l’exemple à la surcharge décrite par cet article, modifiez le corps de la selector fonction.

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.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarques

La Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) méthode utilise l’implémentation Int64 de la comparaison des IComparable<T> valeurs.

Vous pouvez appliquer cette méthode à une séquence de valeurs arbitraires si vous fournissez une fonction, selectorqui projette les membres d’un source type numérique, en particulier Int64.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur maximale Int32.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static int Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, int> ^ selector);
public static int Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int> selector);
static member Max : seq<'Source> * Func<'Source, int> -> int
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Integer)) As Integer

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
IEnumerable<TSource>

Séquence de valeurs pour déterminer la valeur maximale de.

selector
Func<TSource,Int32>

Fonction de transformation à appliquer à chaque élément.

Retours

Valeur maximale dans la séquence.

Exceptions

source ou selector est null.

source ne contient aucun élément.

Exemples

L’exemple de code suivant montre comment utiliser Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) pour déterminer la valeur maximale dans une séquence de valeurs projetées.

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.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarques

La Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) méthode utilise l’implémentation Int32 de la comparaison des IComparable<T> valeurs.

Vous pouvez appliquer cette méthode à une séquence de valeurs arbitraires si vous fournissez une fonction, selectorqui projette les membres d’un source type numérique, en particulier Int32.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur maximale Double.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static double Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, double> ^ selector);
public static double Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double> selector);
static member Max : seq<'Source> * Func<'Source, double> -> double
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Double)) As Double

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
IEnumerable<TSource>

Séquence de valeurs pour déterminer la valeur maximale de.

selector
Func<TSource,Double>

Fonction de transformation à appliquer à chaque élément.

Retours

Valeur maximale dans la séquence.

Exceptions

source ou selector est null.

source ne contient aucun élément.

Exemples

L’exemple de code suivant montre comment utiliser Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) pour déterminer la valeur maximale dans une séquence de valeurs projetées.

Note

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite par cet article. Pour étendre l’exemple à la surcharge décrite par cet article, modifiez le corps de la selector fonction.

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.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarques

La Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) méthode utilise l’implémentation Double de la comparaison des IComparable<T> valeurs.

Vous pouvez appliquer cette méthode à une séquence de valeurs arbitraires si vous fournissez une fonction, selectorqui projette les membres d’un source type numérique, en particulier Double.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur maximale Decimal.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Decimal Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, System::Decimal> ^ selector);
public static decimal Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal> selector);
static member Max : seq<'Source> * Func<'Source, decimal> -> decimal
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Decimal)) As Decimal

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
IEnumerable<TSource>

Séquence de valeurs pour déterminer la valeur maximale de.

selector
Func<TSource,Decimal>

Fonction de transformation à appliquer à chaque élément.

Retours

Valeur maximale dans la séquence.

Exceptions

source ou selector est null.

source ne contient aucun élément.

Exemples

L’exemple de code suivant montre comment utiliser Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) pour déterminer la valeur maximale dans une séquence de valeurs projetées.

Note

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite par cet article. Pour étendre l’exemple à la surcharge décrite par cet article, modifiez le corps de la selector fonction.

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.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarques

La Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) méthode utilise l’implémentation Decimal de la comparaison des IComparable<T> valeurs.

Vous pouvez appliquer cette méthode à une séquence de valeurs arbitraires si vous fournissez une fonction, selectorqui projette les membres d’un source type numérique, en particulier Decimal.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

Max<TSource>(IEnumerable<TSource>)

Retourne la valeur maximale dans une séquence générique.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static TSource Max(System::Collections::Generic::IEnumerable<TSource> ^ source);
public static TSource Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source);
static member Max : seq<'Source> -> 'Source
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource)) As TSource

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
IEnumerable<TSource>

Séquence de valeurs pour déterminer la valeur maximale de.

Retours

TSource

Valeur maximale dans la séquence.

Exceptions

source a la valeur null.

Aucun objet n’implémente source ou n’implémente l’interface IComparableIComparable<T> .

Exemples

L’exemple de code suivant montre comment utiliser Max<TSource>(IEnumerable<TSource>) pour déterminer la valeur maximale dans une séquence d’objets IComparable<T> .

/// <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.
*/
' This class implements IComparable
' and has a custom 'CompareTo' implementation.
Class Pet
    Implements IComparable(Of Pet)

    Public Name As String
    Public Age As Integer

    ''' <summary>
    ''' Compares Pet objects by the sum of their age and name length.
    ''' </summary>
    ''' <param name="other">The Pet to compare this Pet to.</param>
    ''' <returns>-1 if this Pet's sum is 'less' than the other Pet,
    ''' 0 if they are equal,
    ''' or 1 if this Pet's sum is 'greater' than the other Pet.</returns>
    Function CompareTo(ByVal other As Pet) As Integer _
    Implements IComparable(Of Pet).CompareTo

        If (other.Age + other.Name.Length > Me.Age + Me.Name.Length) Then
            Return -1
        ElseIf (other.Age + other.Name.Length = Me.Age + Me.Name.Length) Then
            Return 0
        Else
            Return 1
        End If
    End Function
End Class

Sub MaxEx3()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Find the "maximum" pet according to the
    ' custom CompareTo() implementation.
    Dim max As Pet = pets.Max()

    ' Display the result.
    Console.WriteLine($"The 'maximum' animal is {max.Name}")
End Sub

' This code produces the following output:
'
' The 'maximum' animal is Barley

Remarques

Si le type TSource implémente IComparable<T>, la Max<TSource>(IEnumerable<TSource>) méthode utilise cette implémentation pour comparer les valeurs. Sinon, si le type TSource implémente IComparable, cette implémentation est utilisée pour comparer les valeurs.

S’il TSource s’agit d’un type référence et que la séquence source est vide ou contient uniquement des valeurs qui sont null, cette méthode retourne null.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à

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

Appelle une fonction de transformation sur chaque élément d’une séquence et retourne la valeur de Decimal nullable maximale.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<System::Decimal> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<System::Decimal>> ^ selector);
public static decimal? Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal?> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<decimal>> -> Nullable<decimal>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Decimal))) As Nullable(Of Decimal)

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
IEnumerable<TSource>

Séquence de valeurs pour déterminer la valeur maximale de.

selector
Func<TSource,Nullable<Decimal>>

Fonction de transformation à appliquer à chaque élément.

Retours

Valeur de type Nullable<Decimal> en C# ou Nullable(Of Decimal) dans Visual Basic qui correspond à la valeur maximale de la séquence.

Exceptions

source ou selector est null.

Exemples

L’exemple de code suivant montre comment utiliser Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) pour déterminer la valeur maximale dans une séquence de valeurs projetées.

Note

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite par cet article. Pour étendre l’exemple à la surcharge décrite par cet article, modifiez le corps de la selector fonction.

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.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarques

La Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) méthode utilise l’implémentation Decimal de la comparaison des IComparable<T> valeurs.

Vous pouvez appliquer cette méthode à une séquence de valeurs arbitraires si vous fournissez une fonction, selector, qui projette les membres de source dans un type numérique, en particulier Nullable<Decimal> en C# ou Nullable(Of Decimal) dans Visual Basic.

Dans Visual Basic syntaxe d’expression de requête, une clause Aggregate Into Max() se traduit par un appel de Max.

Voir aussi

S’applique à