Enumerable.Max Méthode

Définition

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

Surcharges

Max(IEnumerable<Nullable<Int32>>)

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

Max(IEnumerable<Single>)

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

Max(IEnumerable<Nullable<Single>>)

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

Max(IEnumerable<Nullable<Int64>>)

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

Max(IEnumerable<Nullable<Double>>)

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

Max(IEnumerable<Double>)

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

Max(IEnumerable<Int64>)

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

Max(IEnumerable<Int32>)

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

Max(IEnumerable<Decimal>)

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

Max(IEnumerable<Nullable<Decimal>>)

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

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 résultante maximale.

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

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

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 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 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 Int32 nullable maximale.

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 Decimal 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 Double nullable maximale.

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

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

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

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

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

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

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

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

Max<TSource>(IEnumerable<TSource>)

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

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

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

Max(IEnumerable<Nullable<Int32>>)

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

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 Int32 nullables pour laquelle déterminer la valeur maximale.

Retours

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

Exceptions

source a la valeur null.

Remarques

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

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

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

Voir aussi

S’applique à

Max(IEnumerable<Single>)

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

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 valeurs Single pour laquelle déterminer la valeur maximale.

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 IComparable<T> pour comparer des valeurs.

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

Voir aussi

S’applique à

Max(IEnumerable<Nullable<Single>>)

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

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 Single nullables pour laquelle déterminer la valeur maximale.

Retours

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

Exceptions

source a la valeur null.

Remarques

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

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

Dans la syntaxe d’expression de requête Visual Basic, une Aggregate Into Max() clause 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 Int64 nullables.

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 Int64 nullables pour laquelle déterminer la valeur maximale.

Retours

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

Exceptions

source a la valeur null.

Remarques

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

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

Dans la syntaxe d’expression de requête Visual Basic, une Aggregate Into Max() clause 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 Double nullables.

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 Double nullables pour laquelle déterminer la valeur maximale.

Retours

Valeur de type Nullable<Double> en C# ou Nullable(Of Double) en Visual Basic qui correspond à la valeur maximale dans 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 IComparable<T> pour comparer des valeurs.

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

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

Voir aussi

S’applique à

Max(IEnumerable<Double>)

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

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 valeurs Double pour laquelle déterminer la valeur maximale.

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 IComparable<T> pour comparer des valeurs.

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

Voir aussi

S’applique à

Max(IEnumerable<Int64>)

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

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 valeurs Int64 pour laquelle déterminer la valeur maximale.

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 IComparable<T> pour comparer les valeurs.

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

Voir aussi

S’applique à

Max(IEnumerable<Int32>)

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

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 valeurs Int32 pour laquelle déterminer la valeur maximale.

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 IComparable<T> pour comparer les valeurs.

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

Voir aussi

S’applique à

Max(IEnumerable<Decimal>)

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

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 valeurs Decimal pour laquelle déterminer la valeur maximale.

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 IComparable<T> pour comparer les valeurs.

Dans la syntaxe d’expression de requête Visual Basic, une Aggregate Into Max() clause 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 Decimal nullables.

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 Decimal nullables pour laquelle déterminer la valeur maximale.

Retours

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

Exceptions

source a la valeur null.

Remarques

La Max(IEnumerable<Nullable<Decimal>>) méthode utilise l’implémentation Decimal de IComparable<T> pour comparer les valeurs.

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

Dans la syntaxe d’expression de requête Visual Basic, une Aggregate Into Max() clause 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 résultante maximale.

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);
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

Le 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 laquelle déterminer la valeur maximale.

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.

Notes

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite dans cet article. Pour étendre l’exemple à la surcharge décrite dans 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 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 la syntaxe d’expression de requête Visual Basic, une Aggregate Into Max() clause 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 Single maximale.

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

Le type des éléments de source.

Paramètres

source
IEnumerable<TSource>

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

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.

Notes

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite dans cet article. Pour étendre l’exemple à la surcharge décrite dans 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 IComparable<T> pour comparer les valeurs.

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

Dans la syntaxe d’expression de requête Visual Basic, une Aggregate Into Max() clause 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 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

Le type des éléments de source.

Paramètres

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Single>>

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

Retours

Valeur de type Nullable<Single> en C# ou Nullable(Of Single) en Visual Basic 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.

Notes

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite dans cet article. Pour étendre l’exemple à la surcharge décrite dans 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 IComparable<T> pour comparer les valeurs.

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

Dans la syntaxe d’expression de requête Visual Basic, une Aggregate Into Max() clause 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 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

Le type des éléments de source.

Paramètres

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Int64>>

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

Retours

Valeur de type Nullable<Int64> en C# ou Nullable(Of Int64) en Visual Basic 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.

Notes

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite dans cet article. Pour étendre l’exemple à la surcharge décrite dans 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 IComparable<T> pour comparer les valeurs.

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

Dans la syntaxe d’expression de requête Visual Basic, une Aggregate Into Max() clause 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 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

Le type des éléments de source.

Paramètres

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Int32>>

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

Retours

Valeur de type Nullable<Int32> en C# ou Nullable(Of Int32) en Visual Basic 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.

Notes

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite dans cet article. Pour étendre l’exemple à la surcharge décrite dans 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 IComparable<T> pour comparer les valeurs.

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

Dans la syntaxe d’expression de requête Visual Basic, une Aggregate Into Max() clause 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 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

Le type des éléments de source.

Paramètres

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Decimal>>

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

Retours

Valeur de type Nullable<Decimal> en C# ou Nullable(Of Decimal) en Visual Basic 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.

Notes

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite dans cet article. Pour étendre l’exemple à la surcharge décrite dans 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 IComparable<T> pour comparer les valeurs.

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

Dans la syntaxe d’expression de requête Visual Basic, une Aggregate Into Max() clause 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 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

Le type des éléments de source.

Paramètres

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Double>>

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

Retours

Valeur de type Nullable<Double> en C# ou Nullable(Of Double) en Visual Basic 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.

Notes

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite dans cet article. Pour étendre l’exemple à la surcharge décrite dans 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 IComparable<T> pour comparer les valeurs.

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

Dans la syntaxe d’expression de requête Visual Basic, une Aggregate Into Max() clause 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 Int32 maximale.

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

Le type des éléments de source.

Paramètres

source
IEnumerable<TSource>

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

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 IComparable<T> pour comparer les valeurs.

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

Dans la syntaxe d’expression de requête Visual Basic, une Aggregate Into Max() clause 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 Double maximale.

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

Le type des éléments de source.

Paramètres

source
IEnumerable<TSource>

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

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.

Notes

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite dans cet article. Pour étendre l’exemple à la surcharge décrite dans 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 IComparable<T> pour comparer les valeurs.

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

Dans la syntaxe d’expression de requête Visual Basic, une Aggregate Into Max() clause 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 Decimal maximale.

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

Le type des éléments de source.

Paramètres

source
IEnumerable<TSource>

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

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.

Notes

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite dans cet article. Pour étendre l’exemple à la surcharge décrite dans 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 IComparable<T> pour comparer les valeurs.

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

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

Voir aussi

S’applique à

Max<TSource>(IEnumerable<TSource>, IComparer<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, System::Collections::Generic::IComparer<TSource> ^ comparer);
public static TSource? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, System.Collections.Generic.IComparer<TSource>? comparer);
static member Max : seq<'Source> * System.Collections.Generic.IComparer<'Source> -> 'Source
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), comparer As IComparer(Of TSource)) As TSource

Paramètres de type

TSource

Le type des éléments de source.

Paramètres

source
IEnumerable<TSource>

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

comparer
IComparer<TSource>

IComparer<T> pour comparer les valeurs.

Retours

TSource

Valeur maximale dans la séquence.

Exceptions

source a la valeur null.

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

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.

Si TSource est un type de 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 la syntaxe d’expression de requête Visual Basic, une Aggregate Into Max() clause se traduit par un appel de Max.

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);
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

Le type des éléments de source.

Paramètres

source
IEnumerable<TSource>

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

Retours

TSource

Valeur maximale dans la séquence.

Exceptions

source a la valeur null.

Aucun objet dans source n’implémente l’interface IComparable ou IComparable<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.

Si TSource est un type de 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 la syntaxe d’expression de requête Visual Basic, une Aggregate Into Max() clause 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 Int64 maximale.

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

Le type des éléments de source.

Paramètres

source
IEnumerable<TSource>

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

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.

Notes

Cet exemple de code utilise une surcharge de la méthode différente de la surcharge spécifique décrite dans cet article. Pour étendre l’exemple à la surcharge décrite dans 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 IComparable<T> pour comparer les valeurs.

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

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

Voir aussi

S’applique à