Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Enumerable.GroupBy<TSource, TKey, TElement>, méthode (IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)

Regroupe les éléments d'une séquence selon une fonction de sélection de clé. Les clés sont comparées à l'aide d'un comparateur et les éléments de chaque groupe sont projetés à l'aide d'une fonction spécifique.

Espace de noms :  System.Linq
Assembly :  System.Core (dans 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
)

Paramètres de type

TSource

Type des éléments de source.

TKey

Type de clé retournée par keySelector.

TElement

Type des éléments dans IGrouping<TKey, TElement>.

Paramètres

source
Type : System.Collections.Generic.IEnumerable<TSource>
IEnumerable<T> dont les éléments doivent être regroupés.
keySelector
Type : System.Func<TSource, TKey>
Fonction permettant d'extraire la clé de chaque élément.
elementSelector
Type : System.Func<TSource, TElement>
Fonction permettant de mapper chaque élément source à un élément de IGrouping<TKey, TElement>.
comparer
Type : System.Collections.Generic.IEqualityComparer<TKey>
IEqualityComparer<T> pour comparer les clés.

Valeur de retour

Type : System.Collections.Generic.IEnumerable<IGrouping<TKey, TElement>>
IEnumerable<IGrouping<TKey, TElement>> en C# ou IEnumerable(Of IGrouping(Of TKey, TElement)) dans Visual Basic où chaque objet IGrouping<TKey, TElement> contient une collection d'objets de type TElement et une clé.

Remarque sur l'utilisation

En Visual Basic et C#, vous pouvez appeler cette méthode comme une méthode d'instance sur n'importe quel objet de type IEnumerable<TSource>. Lorsque vous utilisez la syntaxe des méthodes d'instance pour appeler cette méthode, omettez le premier paramètre. Pour plus d'informations, consultez Méthodes d'extension (Visual Basic) ou Méthodes d'extension (Guide de programmation C#).

ExceptionCondition
ArgumentNullException

source ou keySelector ou elementSelector est null.

Cette méthode est implémentée par exécution différée. La valeur de retour immédiate est un objet qui stocke toutes les informations requises pour réaliser l'action. La requête représentée par cette méthode n'est pas exécutée tant que l'objet n'est pas énuméré, soit par l'appel de sa méthode GetEnumerator directement, soit à l'aide de foreach dans Visual C# ou de For Each dans Visual Basic.

La méthode GroupBy<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>) retourne une collection d'objets IGrouping<TKey, TElement>, un pour chaque clé distincte rencontrée. Un IGrouping<TKey, TElement> est un IEnumerable<T> qui dispose également d'une clé associée à ses éléments.

Les objets IGrouping<TKey, TElement> sont rapportés selon l'ordre des éléments dans la source qui a produit la première clé de chaque IGrouping<TKey, TElement>. Les éléments d'un regroupement sont obtenus selon l'ordre dans lequel les éléments qui les ont produits apparaissent dans source.

Si comparer est null, le comparateur d'égalité par défaut Default est utilisé pour comparer les clés.

Si deux clés sont considérées comme égales selon comparer, la première est choisie comme clé du regroupement.

Dans une syntaxe d'expression de requête, une clause group by (Visual C#) ou Group By Into (Visual Basic) se traduit en appel de GroupBy. Pour plus d'informations et des exemples d'utilisation, consultez group, clause (Référence C#) et Group By, clause (Visual Basic).

.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : 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 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft