Leer en inglés

Compartir vía


Queryable.Max Método

Definición

Sobrecargas

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

Invoca una función de proyección en cada elemento de una interfaz IQueryable<T> genérica y devuelve el valor máximo resultante.

Max<TSource>(IQueryable<TSource>)

Devuelve el valor máximo de una interfaz IQueryable<T> genérica.

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

Devuelve el valor máximo de una interfaz IQueryable<T> genérica.

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

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

Invoca una función de proyección en cada elemento de una interfaz IQueryable<T> genérica y devuelve el valor máximo resultante.

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

Parámetros de tipo

TSource

Tipo de los elementos de source.

TResult

Tipo del valor devuelto por la función representada por selector.

Parámetros

source
IQueryable<TSource>

Secuencia de valores cuyo valor máximo se va a determinar.

selector
Expression<Func<TSource,TResult>>

Función de proyección que se va a aplicar a cada elemento.

Devoluciones

TResult

El valor máximo de la secuencia.

Excepciones

source o selector es null.

source no contiene ningún elemento.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) para determinar el valor máximo en una secuencia de valores proyectados.

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.
*/

Comentarios

Este método tiene al menos un parámetro de tipo Expression<TDelegate> cuyo argumento de tipo es uno de los Func<T,TResult> tipos. Para estos parámetros, puede pasar una expresión lambda y se compilará en .Expression<TDelegate>

El Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) método genera un MethodCallExpression objeto que representa llamarse Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) a sí mismo como un método genérico construido. A continuación, pasa al MethodCallExpressionExecute<TResult>(Expression) método del IQueryProvider representado por la Provider propiedad del source parámetro .

El comportamiento de consulta que se produce como resultado de ejecutar un árbol de expresión que representa la llamada Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) depende de la implementación del tipo del source parámetro. El comportamiento esperado es que invoca selector en cada elemento de source y devuelve el valor máximo.

Se aplica a

.NET 9 otras versiones
Producto Versiones
.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

Devuelve el valor máximo de una interfaz IQueryable<T> genérica.

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

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IQueryable<TSource>

Secuencia de valores cuyo valor máximo se va a determinar.

Devoluciones

TSource

El valor máximo de la secuencia.

Excepciones

source es null.

source no contiene ningún elemento.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar Max<TSource>(IQueryable<TSource>) para determinar el valor máximo en una secuencia.

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.
*/

Comentarios

El Max<TSource>(IQueryable<TSource>) método genera un MethodCallExpression objeto que representa llamarse Max<TSource>(IQueryable<TSource>) a sí mismo como un método genérico construido. A continuación, pasa al MethodCallExpressionExecute<TResult>(Expression) método del IQueryProvider representado por la Provider propiedad del source parámetro .

El comportamiento de consulta que se produce como resultado de ejecutar un árbol de expresión que representa la llamada Max<TSource>(IQueryable<TSource>) depende de la implementación del tipo del source parámetro. El comportamiento esperado es que devuelve el valor máximo en source.

Se aplica a

.NET 9 otras versiones
Producto Versiones
.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

Devuelve el valor máximo de una interfaz IQueryable<T> genérica.

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

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IQueryable<TSource>

Secuencia de valores cuyo valor máximo se va a determinar.

comparer
IComparer<TSource>

IComparer<T> que va a comparar los valores.

Devoluciones

TSource

El valor máximo de la secuencia.

Excepciones

source es null.

Se aplica a

.NET 9 otras versiones
Producto Versiones
.NET 6, 7, 8, 9