Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

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

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 de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
Tipo: System.Collections.Generic.IEnumerable<TSource>
Secuencia de valores cuyo valor máximo se va a determinar.

Valor devuelto

Tipo: TSource
El valor máximo de la secuencia.

Nota sobre el uso

En Visual Basic y C#, se puede llamar a este método como a un método de instancia en cualquier objeto de tipo IEnumerable<TSource>. Cuando emplee la sintaxis del método de instancia para llamar a este método, omita el primer parámetro. Para obtener más información, vea Métodos de extensión (Visual Basic) o Métodos de extensión (Guía de programación de C#).

ExcepciónCondición
ArgumentNullException

source es null.

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

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

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

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


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



.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft