|
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.GroupBy<TSource, TKey, TElement> (Método) (IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>)
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 )
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>.
Parámetros
- source
- Tipo: System.Collections.Generic.IEnumerable<TSource>
IEnumerable<T> cuyos elementos se van a agrupar.
- keySelector
- Tipo: System.Func<TSource, TKey>
Función para extraer la clave de cada elemento.
- elementSelector
- Tipo: System.Func<TSource, TElement>
Función que asigna cada elemento de origen a un elemento de IGrouping<TKey, TElement>.
Valor devuelto
Tipo: System.Collections.Generic.IEnumerable<IGrouping<TKey, TElement>>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ón | Condición |
|---|---|
| ArgumentNullException |
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
// Uses method-based query syntax.
public static void GroupByEx1()
{
// Create a list of pets.
List<Pet> pets =
new List<Pet>{ new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 },
new Pet { Name="Daisy", Age=4 } };
// Group the pets using Age as the key value
// and selecting only the pet's Name for each value.
IEnumerable<IGrouping<int, string>> query =
pets.GroupBy(pet => pet.Age, pet => pet.Name);
// Iterate over each IGrouping in the collection.
foreach (IGrouping<int, string> petGroup in query)
{
// Print the key value of the IGrouping.
Console.WriteLine(petGroup.Key);
// Iterate over each value in the
// IGrouping and print the value.
foreach (string name in petGroup)
Console.WriteLine(" {0}", name);
}
}
/*
This code produces the following output:
8
Barley
4
Boots
Daisy
1
Whiskers
*/
Nota |
|---|
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.
Nota