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.GroupBy<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)

 

Publicado: octubre de 2016

Agrupa los elementos de una secuencia según una función del selector de claves. Las claves se comparan utilizando un comparador y los elementos de cada grupo se proyectan utilizando una función especificada.

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

public static IEnumerable<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement>(
	this IEnumerable<TSource> source,
	Func<TSource, TKey> keySelector,
	Func<TSource, TElement> elementSelector,
	IEqualityComparer<TKey> comparer
)

Parámetros

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

Una IEnumerable<T> cuyos elementos desea agrupar.

keySelector
Type: System.Func<TSource, TKey>

Función para extraer la clave de cada elemento.

elementSelector
Type: System.Func<TSource, TElement>

Función que asigna cada elemento de origen a un elemento de IGrouping<TKey, TElement>.

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

IEqualityComparer<T> para comparar claves.

Valor devuelto

Type: System.Collections.Generic.IEnumerable<IGrouping<TKey, TElement>>

Un IEnumerable<IGrouping<TKey, TElement>> en C# o IEnumerable(Of IGrouping(Of TKey, TElement)) en Visual Basic donde cada IGrouping<TKey, TElement> objeto contiene una colección de objetos de tipo TElement y una clave.

Parámetros de tipo

TSource

Tipo de los elementos de source.

TKey

Tipo de la clave devuelta por keySelector.

TElement

Tipo de los elementos de IGrouping<TKey, TElement>.

Exception Condition
ArgumentNullException

source o keySelector o elementSelector 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.

El GroupBy<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>) método devuelve una colección de IGrouping<TKey, TElement> objetos, uno para cada clave distinto que se encontró. Un IGrouping<TKey, TElement> es un IEnumerable<T> que también tiene una clave asociada a sus elementos.

El IGrouping<TKey, TElement> objetos se proporcionan en un orden según el orden de los elementos de source que produjo la primera clave de cada IGrouping<TKey, TElement>. Elementos de una agrupación se proporcionan en el orden en que aparecen los elementos que los generan en source.

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

Si dos claves se consideran iguales de acuerdo con comparer, la primera clave se elige como la clave de esa agrupación.

En la sintaxis de expresión de consulta, un group by (Visual C#) o Group By Into (Visual Basic) cláusula se convierte en una invocación de GroupBy. Para obtener más información y ejemplos de uso, consulte group (Cláusula, Referencia de C#) y Group By (Cláusula, Visual Basic).

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: