Enumerable.Max Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- clause Aggregate (Visual Basic)
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
- clause Aggregate (Visual Basic)
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
- clause Aggregate (Visual Basic)
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
- clause Aggregate (Visual Basic)
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
- clause Aggregate (Visual Basic)
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
- clause Aggregate (Visual Basic)
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
- clause Aggregate (Visual Basic)
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
- clause Aggregate (Visual Basic)
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
- clause Aggregate (Visual Basic)
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
- clause Aggregate (Visual Basic)
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
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
- System.Linq.Enumerable.MaxBy
- clause Aggregate (Visual Basic)
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.
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
- clause Aggregate (Visual Basic)
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.
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
- clause Aggregate (Visual Basic)
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.
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
- clause Aggregate (Visual Basic)
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.
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
- clause Aggregate (Visual Basic)
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.
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
- clause Aggregate (Visual Basic)
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.
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
- clause Aggregate (Visual Basic)
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.
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
- clause Aggregate (Visual Basic)
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.
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
- clause Aggregate (Visual Basic)
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.
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
- clause Aggregate (Visual Basic)
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
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
- clause Aggregate (Visual Basic)
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.
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
- clause Aggregate (Visual Basic)