Ler en inglés

Compartir por


Enumerable.Max Método

Definición

Devuelve el valor máximo de una secuencia de valores.

Sobrecargas

Max(IEnumerable<Nullable<Int32>>)

Devuelve el valor máximo de una secuencia de valores Int32 que aceptan valores NULL.

Max(IEnumerable<Single>)

Devuelve el valor máximo de una secuencia de valores Single.

Max(IEnumerable<Nullable<Single>>)

Devuelve el valor máximo de una secuencia de valores Single que aceptan valores NULL.

Max(IEnumerable<Nullable<Int64>>)

Devuelve el valor máximo de una secuencia de valores Int64 que aceptan valores NULL.

Max(IEnumerable<Nullable<Double>>)

Devuelve el valor máximo de una secuencia de valores Double que aceptan valores NULL.

Max(IEnumerable<Double>)

Devuelve el valor máximo de una secuencia de valores Double.

Max(IEnumerable<Int64>)

Devuelve el valor máximo de una secuencia de valores Int64.

Max(IEnumerable<Int32>)

Devuelve el valor máximo de una secuencia de valores Int32.

Max(IEnumerable<Decimal>)

Devuelve el valor máximo de una secuencia de valores Decimal.

Max(IEnumerable<Nullable<Decimal>>)

Devuelve el valor máximo de una secuencia de valores Decimal que aceptan valores NULL.

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

Invoca una función de transformación en cada elemento de una secuencia genérica y devuelve el valor máximo resultante.

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

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Single máximo.

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

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Single máximo que acepta valores NULL.

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

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int64 máximo que acepta valores NULL.

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

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int32 máximo que acepta valores NULL.

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

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Decimal máximo que acepta valores NULL.

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

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Double máximo que acepta valores NULL.

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

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int32 máximo.

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

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Double máximo.

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

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Decimal máximo.

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

Devuelve el valor máximo de una secuencia genérica.

Max<TSource>(IEnumerable<TSource>)

Devuelve el valor máximo de una secuencia genérica.

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

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int64 máximo.

Max(IEnumerable<Nullable<Int32>>)

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Devuelve el valor máximo de una secuencia de valores Int32 que aceptan valores NULL.

C#
public static int? Max (this System.Collections.Generic.IEnumerable<int?> source);

Parámetros

source
IEnumerable<Nullable<Int32>>

Secuencia de valores Int32 que aceptan valores NULL cuyo valor máximo se va a determinar.

Devoluciones

Valor de tipo Nullable<Int32> en C# o Nullable(Of Int32) en Visual Basic que corresponde al valor máximo de la secuencia.

Excepciones

source es null.

Comentarios

El Max(IEnumerable<Nullable<Int32>>) método usa la Int32 implementación de IComparable<T> para comparar valores.

Si la secuencia de origen está vacía o solo contiene valores que son null, esta función devuelve null.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Single>)

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Devuelve el valor máximo de una secuencia de valores Single.

C#
public static float Max (this System.Collections.Generic.IEnumerable<float> source);

Parámetros

source
IEnumerable<Single>

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

Devoluciones

El valor máximo de la secuencia.

Excepciones

source es null.

source no contiene ningún elemento.

Comentarios

El Max(IEnumerable<Single>) método usa la Single implementación de IComparable<T> para comparar valores.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Nullable<Single>>)

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Devuelve el valor máximo de una secuencia de valores Single que aceptan valores NULL.

C#
public static float? Max (this System.Collections.Generic.IEnumerable<float?> source);

Parámetros

source
IEnumerable<Nullable<Single>>

Secuencia de valores Single que aceptan valores NULL cuyo valor máximo se va a determinar.

Devoluciones

Valor de tipo Nullable<Single> en C# o Nullable(Of Single) en Visual Basic que corresponde al valor máximo de la secuencia.

Excepciones

source es null.

Comentarios

El Max(IEnumerable<Nullable<Single>>) método usa la Single implementación de IComparable<T> para comparar valores.

Si la secuencia de origen está vacía o solo contiene valores que son null, esta función devuelve null.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Nullable<Int64>>)

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Devuelve el valor máximo de una secuencia de valores Int64 que aceptan valores NULL.

C#
public static long? Max (this System.Collections.Generic.IEnumerable<long?> source);

Parámetros

source
IEnumerable<Nullable<Int64>>

Secuencia de valores Int64 que aceptan valores NULL cuyo valor máximo se va a determinar.

Devoluciones

Valor de tipo Nullable<Int64> en C# o Nullable(Of Int64) en Visual Basic que corresponde al valor máximo de la secuencia.

Excepciones

source es null.

Comentarios

El Max(IEnumerable<Nullable<Int64>>) método usa la Int64 implementación de IComparable<T> para comparar valores.

Si la secuencia de origen está vacía o solo contiene valores que son null, esta función devuelve null.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Nullable<Double>>)

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Devuelve el valor máximo de una secuencia de valores Double que aceptan valores NULL.

C#
public static double? Max (this System.Collections.Generic.IEnumerable<double?> source);

Parámetros

source
IEnumerable<Nullable<Double>>

Secuencia de valores Double que aceptan valores NULL cuyo valor máximo se va a determinar.

Devoluciones

Valor de tipo Nullable<Double> en C# o Nullable(Of Double) en Visual Basic que corresponde al valor máximo de la secuencia.

Excepciones

source es null.

Ejemplos

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

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

Comentarios

El Max(IEnumerable<Nullable<Double>>) método usa la Double implementación de IComparable<T> para comparar valores.

Si la secuencia de origen está vacía o solo contiene valores que son null, esta función devuelve null.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Double>)

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Devuelve el valor máximo de una secuencia de valores Double.

C#
public static double Max (this System.Collections.Generic.IEnumerable<double> source);

Parámetros

source
IEnumerable<Double>

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

Devoluciones

El valor máximo de la secuencia.

Excepciones

source es null.

source no contiene ningún elemento.

Comentarios

El Max(IEnumerable<Double>) método usa la Double implementación de IComparable<T> para comparar valores.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Int64>)

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Devuelve el valor máximo de una secuencia de valores Int64.

C#
public static long Max (this System.Collections.Generic.IEnumerable<long> source);

Parámetros

source
IEnumerable<Int64>

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

Devoluciones

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(IEnumerable<Int64>) para determinar el valor máximo en una secuencia.

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

Comentarios

El Max(IEnumerable<Int64>) método usa la Int64 implementación de IComparable<T> para comparar valores.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Int32>)

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Devuelve el valor máximo de una secuencia de valores Int32.

C#
public static int Max (this System.Collections.Generic.IEnumerable<int> source);

Parámetros

source
IEnumerable<Int32>

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

Devoluciones

El valor máximo de la secuencia.

Excepciones

source es null.

source no contiene ningún elemento.

Comentarios

El Max(IEnumerable<Int32>) método usa la Int32 implementación de IComparable<T> para comparar valores.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Decimal>)

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Devuelve el valor máximo de una secuencia de valores Decimal.

C#
public static decimal Max (this System.Collections.Generic.IEnumerable<decimal> source);

Parámetros

source
IEnumerable<Decimal>

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

Devoluciones

El valor máximo de la secuencia.

Excepciones

source es null.

source no contiene ningún elemento.

Comentarios

El Max(IEnumerable<Decimal>) método usa la Decimal implementación de IComparable<T> para comparar valores.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Nullable<Decimal>>)

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Devuelve el valor máximo de una secuencia de valores Decimal que aceptan valores NULL.

C#
public static decimal? Max (this System.Collections.Generic.IEnumerable<decimal?> source);

Parámetros

source
IEnumerable<Nullable<Decimal>>

Secuencia de valores Decimal que aceptan valores NULL cuyo valor máximo se va a determinar.

Devoluciones

Valor de tipo Nullable<Decimal> en C# o Nullable(Of Decimal) en Visual Basic que corresponde al valor máximo de la secuencia.

Excepciones

source es null.

Comentarios

El Max(IEnumerable<Nullable<Decimal>>) método usa la Decimal implementación de IComparable<T> para comparar valores.

Si la secuencia de origen está vacía o solo contiene valores que son null, esta función devuelve null.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Invoca una función de transformación en cada elemento de una secuencia genérica y devuelve el valor máximo resultante.

C#
public static TResult Max<TSource,TResult> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TResult> selector);
C#
public static TResult? Max<TSource,TResult> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TResult> selector);

Parámetros de tipo

TSource

Tipo de los elementos de source.

TResult

Tipo de valor devuelto por selector.

Parámetros

source
IEnumerable<TSource>

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

selector
Func<TSource,TResult>

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

Devoluciones

TResult

El valor máximo de la secuencia.

Excepciones

source o selector es null.

Ejemplos

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

Nota

En este ejemplo de código se usa una sobrecarga del método diferente de la sobrecarga específica que describe este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector función.

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

Comentarios

Si type TResult implementa IComparable<T>, este método usa esa implementación para comparar valores. De lo contrario, si el tipo TResult implementa IComparable, esa implementación se usa para comparar valores.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Single máximo.

C#
public static float Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float> selector);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

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

selector
Func<TSource,Single>

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

Devoluciones

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>(IEnumerable<TSource>, Func<TSource,Int32>) para determinar el valor máximo en una secuencia de valores proyectados.

Nota

En este ejemplo de código se usa una sobrecarga del método diferente de la sobrecarga específica que describe este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector función.

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

Comentarios

El Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) método usa la Single implementación de IComparable<T> para comparar valores.

Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector, que proyecta los miembros de source en un tipo numérico, específicamente Single.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Single máximo que acepta valores NULL.

C#
public static float? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float?> selector);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Single>>

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

Devoluciones

Valor que corresponde al valor máximo de la secuencia.

Excepciones

source o selector es null.

Ejemplos

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

Nota

En este ejemplo de código se usa una sobrecarga del método diferente de la sobrecarga específica que describe este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector función.

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

Comentarios

El Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) método usa la Single implementación de IComparable<T> para comparar valores.

Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector, que proyecta los miembros de source en un tipo numérico, específicamente Nullable<Single> en C# o Nullable(Of Single) en Visual Basic.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int64 máximo que acepta valores NULL.

C#
public static long? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long?> selector);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Int64>>

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

Devoluciones

Valor que corresponde al valor máximo de la secuencia.

Excepciones

source o selector es null.

Ejemplos

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

Nota

En este ejemplo de código se usa una sobrecarga del método diferente de la sobrecarga específica que describe este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector función.

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

Comentarios

El Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) método usa la Int64 implementación de IComparable<T> para comparar valores.

Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector, que proyecta los miembros de source en un tipo numérico, específicamente Nullable<Int64> en C# o Nullable(Of Int64) en Visual Basic.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int32 máximo que acepta valores NULL.

C#
public static int? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int?> selector);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Int32>>

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

Devoluciones

Valor de tipo Nullable<Int32> en C# o Nullable(Of Int32) en Visual Basic que corresponde al valor máximo de la secuencia.

Excepciones

source o selector es null.

Ejemplos

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

Nota

En este ejemplo de código se usa una sobrecarga del método diferente de la sobrecarga específica que describe este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector función.

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

Comentarios

El Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) método usa la Int32 implementación de IComparable<T> para comparar valores.

Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector, que proyecta los miembros de source en un tipo numérico, específicamente Nullable<Int32> en C# o Nullable(Of Int32) en Visual Basic.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Decimal máximo que acepta valores NULL.

C#
public static decimal? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal?> selector);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Decimal>>

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

Devoluciones

Valor de tipo Nullable<Decimal> en C# o Nullable(Of Decimal) en Visual Basic que corresponde al valor máximo de la secuencia.

Excepciones

source o selector es null.

Ejemplos

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

Nota

En este ejemplo de código se usa una sobrecarga del método que es diferente de la sobrecarga específica que se describe en este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector función.

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

Comentarios

El Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) método usa la Decimal implementación de IComparable<T> para comparar valores.

Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector, que proyecta los miembros de source en un tipo numérico, específicamente Nullable<Decimal> en C# o Nullable(Of Decimal) en Visual Basic.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Double máximo que acepta valores NULL.

C#
public static double? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double?> selector);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Double>>

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

Devoluciones

Valor de tipo Nullable<Double> en C# o Nullable(Of Double) en Visual Basic que corresponde al valor máximo de la secuencia.

Excepciones

source o selector es null.

Ejemplos

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

Nota

En este ejemplo de código se usa una sobrecarga del método que es diferente de la sobrecarga específica que se describe en este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector función.

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

Comentarios

El Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) método usa la Double implementación de IComparable<T> para comparar valores.

Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector, que proyecta los miembros de source en un tipo numérico, específicamente Nullable<Double> en C# o Nullable(Of Double) en Visual Basic.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int32 máximo.

C#
public static int Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int> selector);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

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

selector
Func<TSource,Int32>

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

Devoluciones

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>(IEnumerable<TSource>, Func<TSource,Int32>) 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 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.
*/

Comentarios

El Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) método usa la Int32 implementación de IComparable<T> para comparar valores.

Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector, que proyecta los miembros de source en un tipo numérico, específicamente Int32.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Double máximo.

C#
public static double Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double> selector);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

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

selector
Func<TSource,Double>

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

Devoluciones

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>(IEnumerable<TSource>, Func<TSource,Int32>) para determinar el valor máximo en una secuencia de valores proyectados.

Nota

En este ejemplo de código se usa una sobrecarga del método que es diferente de la sobrecarga específica que se describe en este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector función.

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

Comentarios

El Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) método usa la Double implementación de IComparable<T> para comparar valores.

Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector, que proyecta los miembros de source en un tipo numérico, específicamente Double.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Decimal máximo.

C#
public static decimal Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal> selector);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

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

selector
Func<TSource,Decimal>

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

Devoluciones

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>(IEnumerable<TSource>, Func<TSource,Int32>) para determinar el valor máximo en una secuencia de valores proyectados.

Nota

En este ejemplo de código se usa una sobrecarga del método que es diferente de la sobrecarga específica que se describe en este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector función.

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

Comentarios

El Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) método usa la Decimal implementación de IComparable<T> para comparar valores.

Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector, que proyecta los miembros de source en un tipo numérico, específicamente Decimal.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Devuelve el valor máximo de una secuencia genérica.

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

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

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

Ningún objeto de source implementa la interfaz IComparable o IComparable<T>.

Comentarios

Si type TSource implementa IComparable<T>, el Max<TSource>(IEnumerable<TSource>) método usa esa implementación para comparar valores. De lo contrario, si el tipo TSource implementa IComparable, esa implementación se usa para comparar valores.

Si TSource es un tipo de referencia y la secuencia de origen está vacía o solo contiene valores que son null, este método devuelve null.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Se aplica a

.NET 9 e outras versións
Produto Versións
.NET 6, 7, 8, 9

Max<TSource>(IEnumerable<TSource>)

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Devuelve el valor máximo de una secuencia genérica.

C#
public static TSource Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);
C#
public static TSource? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

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

Ningún objeto de source implementa la interfaz IComparable o IComparable<T>.

Ejemplos

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

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

Comentarios

Si type TSource implementa IComparable<T>, el Max<TSource>(IEnumerable<TSource>) método usa esa implementación para comparar valores. De lo contrario, si el tipo TSource implementa IComparable, esa implementación se usa para comparar valores.

Si TSource es un tipo de referencia y la secuencia de origen está vacía o solo contiene valores que son null, este método devuelve null.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

Source:
Max.cs
Source:
Max.cs
Source:
Max.cs

Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int64 máximo.

C#
public static long Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long> selector);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

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

selector
Func<TSource,Int64>

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

Devoluciones

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>(IEnumerable<TSource>, Func<TSource,Int32>) para determinar el valor máximo en una secuencia de valores proyectados.

Nota

En este ejemplo de código se usa una sobrecarga del método que es diferente de la sobrecarga específica que se describe en este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector función.

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

Comentarios

El Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) método usa la Int64 implementación de IComparable<T> para comparar valores.

Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector, que proyecta los miembros de source en un tipo numérico, específicamente Int64.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Max() cláusula se traduce en una invocación de Max.

Consulte también

Se aplica a

.NET 9 e outras versións
Produto Versións
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0