Queryable.Max Méthode

Définition

Surcharges

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

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

Max<TSource>(IQueryable<TSource>)

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

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

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

public:
generic <typename TSource, typename TResult>
[System::Runtime::CompilerServices::Extension]
 static TResult Max(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, TResult> ^> ^ selector);
public static TResult Max<TSource,TResult>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TResult>> selector);
static member Max : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, 'Result>> -> 'Result
<Extension()>
Public Function Max(Of TSource, TResult) (source As IQueryable(Of TSource), selector As Expression(Of 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 la fonction représentée par selector.

Paramètres

source
IQueryable<TSource>

Séquence de valeurs pour déterminer le maximum de.

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.

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

Shared Sub MaxEx2()
    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}}

    ' Add Pet.Age to the length of Pet.Name
    ' to determine the "maximum" Pet object in the array.
    Dim max As Integer = _
        pets.AsQueryable().Max(Function(pet) pet.Age + pet.Name.Length)

    MsgBox(String.Format("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 de type est l’un des Func<T,TResult> types. Pour ces paramètres, vous pouvez passer une expression lambda et elle sera compilée à un Expression<TDelegate>.

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

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

S’applique à

Max<TSource>(IQueryable<TSource>)

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

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

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
IQueryable<TSource>

Séquence de valeurs pour déterminer le maximum de.

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.

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.
*/
Dim longs As New List(Of Long)(New Long() {4294967296L, 466855135L, 81125L})

Dim max As Long = longs.AsQueryable().Max()

MsgBox(String.Format("The largest number is {0}.", max))

'This code produces the following output:

'The largest number is 4294967296.

Remarques

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

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

S’applique à