Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Enumerable.Max<TSource>(IEnumerable<TSource>)

 

Publicado: octubre de 2016

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

Espacio de nombres:   System.Linq
Ensamblado:  System.Core (en System.Core.dll)

public static TSource Max<TSource>(
	this IEnumerable<TSource> source
)

Parámetros

source
Type: System.Collections.Generic.IEnumerable<TSource>

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

Valor devuelto

Type: TSource

El valor máximo de la secuencia.

Parámetros de tipo

TSource

Tipo de los elementos de source.

Exception Condition
ArgumentNullException

El valor de source es null.

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

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

En Visual Basic sintaxis de expresiones de consulta un Aggregate Into Max() cláusula se convierte en una invocación de Max.

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

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

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 3.5
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: