Afficher en anglais

Partage via


Queryable.Max Méthode

Définition

Surcharges

Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>)

Appelle une fonction de projection sur chaque élément d'un IQueryable<T> générique et retourne la valeur résultante maximale.

Max<TSource>(IQueryable<TSource>)

Retourne la valeur maximale dans un IQueryable<T>générique.

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

Retourne la valeur maximale dans un IQueryable<T>générique.

Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>)

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

Appelle une fonction de projection sur chaque élément d'un IQueryable<T> générique et retourne la valeur résultante maximale.

C#
public static TResult Max<TSource,TResult> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TResult>> selector);
C#
public static TResult? Max<TSource,TResult> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TResult>> selector);

Paramètres de type

TSource

Le type des éléments de source.

TResult

Type de la valeur retournée par la fonction représentée par selector.

Paramètres

source
IQueryable<TSource>

Séquence de valeurs dans laquelle rechercher la valeur maximale.

selector
Expression<Func<TSource,TResult>>

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

Retours

TResult

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,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) pour déterminer la valeur maximale dans une séquence de valeurs projetées.

C#
class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

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

    // Add Pet.Age to the length of Pet.Name
    // to determine the "maximum" Pet object in the array.
    int max =
        pets.AsQueryable().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.
*/

Remarques

Cette méthode a au moins un paramètre de type Expression<TDelegate> dont l’argument type est l’un Func<T,TResult> des types. Pour ces paramètres, vous pouvez passer une expression lambda et elle sera compilée dans un Expression<TDelegate>.

La Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) méthode génère un MethodCallExpression qui représente l’appel Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) de lui-même en tant que méthode générique construite. Il passe ensuite le MethodCallExpression à la Execute<TResult>(Expression) méthode du IQueryProvider représenté par la Provider propriété du source paramètre .

Le comportement de requête qui se produit à la suite de l’exécution d’une arborescence d’expressions qui représente l’appel Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) dépend de l’implémentation du type du source paramètre. Le comportement attendu est qu’il appelle selector sur chaque élément dans source et retourne la valeur maximale.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

Max<TSource>(IQueryable<TSource>)

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

Retourne la valeur maximale dans un IQueryable<T>générique.

C#
public static TSource Max<TSource> (this System.Linq.IQueryable<TSource> source);
C#
public static TSource? Max<TSource> (this System.Linq.IQueryable<TSource> source);

Paramètres de type

TSource

Le type des éléments de source.

Paramètres

source
IQueryable<TSource>

Séquence de valeurs dans laquelle rechercher la valeur maximale.

Retours

TSource

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<TSource>(IQueryable<TSource>) pour déterminer la valeur maximale dans une séquence.

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

long max = longs.AsQueryable().Max();

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

/*
    This code produces the following output:

    The largest number is 4294967296.
*/

Remarques

La Max<TSource>(IQueryable<TSource>) méthode génère un MethodCallExpression qui représente l’appel Max<TSource>(IQueryable<TSource>) de lui-même en tant que méthode générique construite. Il passe ensuite le MethodCallExpression à la Execute<TResult>(Expression) méthode du IQueryProvider représenté par la Provider propriété du source paramètre .

Le comportement de requête qui se produit à la suite de l’exécution d’une arborescence d’expressions qui représente l’appel Max<TSource>(IQueryable<TSource>) dépend de l’implémentation du type du source paramètre. Le comportement attendu est qu’il retourne la valeur maximale dans source.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

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

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

Retourne la valeur maximale dans un IQueryable<T>générique.

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

Paramètres de type

TSource

Le type des éléments de source.

Paramètres

source
IQueryable<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.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET 6, 7, 8, 9