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.ThenBy<TSource, TKey>(IOrderedEnumerable<TSource>, Func<TSource, TKey>, IComparer<TKey>)

 

Publicado: octubre de 2016

Realiza una ordenación subsiguiente de los elementos de una secuencia en orden ascendente mediante un comparador especificado.

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

public static IOrderedEnumerable<TSource> ThenBy<TSource, TKey>(
	this IOrderedEnumerable<TSource> source,
	Func<TSource, TKey> keySelector,
	IComparer<TKey> comparer
)

Parámetros

source
Type: System.Linq.IOrderedEnumerable<TSource>

IOrderedEnumerable<TElement> que contiene los elementos que se van a ordenar.

keySelector
Type: System.Func<TSource, TKey>

Función para extraer una clave a partir de cada elemento.

comparer
Type: System.Collections.Generic.IComparer<TKey>

IComparer<T> para comparar claves.

Valor devuelto

Type: System.Linq.IOrderedEnumerable<TSource>

Una IOrderedEnumerable<TElement> cuyos elementos se ordenan según una clave.

Parámetros de tipo

TSource

Tipo de los elementos de source.

TKey

Tipo de la clave devuelta por keySelector.

Exception Condition
ArgumentNullException

El valor de source o keySelector es null.

Este método se implementa mediante la ejecución diferida. El valor devuelto inmediato es un objeto que almacena toda la información necesaria para realizar la acción. La consulta representada por este método no se ejecuta hasta que se enumera el objeto llamando a su GetEnumerator método directamente o mediante foreach en Visual C# o For Each en Visual Basic.

Para ordenar una secuencia por los valores de los propios elementos, especifique la función identity (x => x en Visual C# o Function(x) x en Visual Basic) para keySelector.

ThenBy y ThenByDescending se definen para ampliar el tipo IOrderedEnumerable<TElement>, que también es el tipo de valor devuelto de estos métodos. Este diseño permite especificar varios criterios de ordenación aplicando cualquier número de ThenBy o ThenByDescending métodos.

System_CAPS_noteNota

Porque IOrderedEnumerable<TElement> hereda de IEnumerable<T>, puede llamar a OrderBy o OrderByDescending en los resultados de una llamada a OrderBy, OrderByDescending, ThenBy o ThenByDescending. Esto presenta un nuevo orden primario que hace caso omiso del orden establecido previamente.

Si comparer es null, el comparador predeterminado Default se utiliza para comparar claves.

Este método realiza a una ordenación estable; es decir, si las claves de dos elementos son iguales, se conserva el orden de los elementos. Por el contrario, una ordenación inestable no conserva el orden de los elementos que tienen la misma clave.

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: