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
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Enumerable.GroupJoin<TOuter, TInner, TKey, TResult>, méthode (IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)

Met en corrélation les éléments de deux séquences en fonction de l'égalité des clés et regroupe les résultats. Un IEqualityComparer<T> spécifié est utilisé pour comparer les clés.

Espace de noms :  System.Linq
Assembly :  System.Core (dans System.Core.dll)
public static IEnumerable<TResult> GroupJoin<TOuter, TInner, TKey, TResult>(
	this IEnumerable<TOuter> outer,
	IEnumerable<TInner> inner,
	Func<TOuter, TKey> outerKeySelector,
	Func<TInner, TKey> innerKeySelector,
	Func<TOuter, IEnumerable<TInner>, TResult> resultSelector,
	IEqualityComparer<TKey> comparer
)

Paramètres de type

TOuter

Type des éléments de la première séquence.

TInner

Type des éléments de la deuxième séquence.

TKey

Type des clés retournées par les fonctions de sélecteur de clé.

TResult

Type des éléments de résultat.

Paramètres

outer
Type : System.Collections.Generic.IEnumerable<TOuter>
Première séquence à joindre.
inner
Type : System.Collections.Generic.IEnumerable<TInner>
Séquence à joindre à la première séquence.
outerKeySelector
Type : System.Func<TOuter, TKey>
Fonction permettant d'extraire la clé de jointure de chaque élément de la première séquence.
innerKeySelector
Type : System.Func<TInner, TKey>
Fonction permettant d'extraire la clé de jointure de chaque élément de la deuxième séquence.
resultSelector
Type : System.Func<TOuter, IEnumerable<TInner>, TResult>
Fonction permettant de créer un élément de résultat à partir d'un élément de la première séquence ainsi qu'une collection d'éléments correspondants à partir de la deuxième séquence.
comparer
Type : System.Collections.Generic.IEqualityComparer<TKey>
IEqualityComparer<T> pour hacher et comparer les clés.

Valeur de retour

Type : System.Collections.Generic.IEnumerable<TResult>
IEnumerable<T> qui contient des éléments de type TResult obtenus à la suite d'une jointure groupée de deux séquences.

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<TOuter>. 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

outer, inner, outerKeySelector, innerKeySelector ou resultSelector 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.

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

GroupJoin produit des résultats hiérarchiques, ce qui signifie que les éléments de outer sont associés à des collections d'éléments correspondants de inner. GroupJoin vous permet de baser vos résultats sur un ensemble complet de correspondances pour chaque élément de outer.

RemarqueRemarque

Si aucun élément corrélé n'existe dans inner pour un élément spécifique de outer, la séquence de correspondances pour cet élément sera vide mais continuera d'apparaître dans les résultats.

La fonction resultSelector n'est appelée qu'une seule fois pour chaque élément outer avec une collection de tous les éléments inner qui correspondent à l'élément outer. Cette méthode est différente de la méthode Join, dans laquelle la fonction de sélection de résultat est appelée sur des paires qui contiennent un élément de outer et un élément de inner.

GroupJoin conserve l'ordre des éléments de outer ainsi que l'ordre des éléments correspondants de inner pour chaque élément de outer.

GroupJoin n'a pas d'équivalent direct en termes de base de données relationnelle traditionnelle. Toutefois, cette méthode implémente un sur-ensemble de jointures internes et de jointures externes gauches. Ces deux opérations peuvent être écrites en termes de jointure groupée. Consultez Opérations de jointure.

.NET Framework

Pris en charge dans : 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

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.
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.