Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Enumerable.SelectMany<TSource, TCollection, TResult>, méthode (IEnumerable<TSource>, Func<TSource, Int32, IEnumerable<TCollection>>, Func<TSource, TCollection, TResult>)

Projette chaque élément d'une séquence sur un IEnumerable<T>, aplatit les séquences résultantes en une seule séquence et appelle une fonction de sélection de résultat sur chaque élément inclus. L'index de chaque élément source est utilisé dans le formulaire intermédiaire projeté de l'élément.

Espace de noms :  System.Linq
Assembly :  System.Core (dans System.Core.dll)
public static IEnumerable<TResult> SelectMany<TSource, TCollection, TResult>(
	this IEnumerable<TSource> source,
	Func<TSource, int, IEnumerable<TCollection>> collectionSelector,
	Func<TSource, TCollection, TResult> resultSelector
)

Paramètres de type

TSource

Type des éléments de source.

TCollection

Type des éléments intermédiaires collectés par collectionSelector.

TResult

Type des éléments de la séquence résultante.

Paramètres

source
Type : System.Collections.Generic.IEnumerable<TSource>
Séquence de valeurs à projeter.
collectionSelector
Type : System.Func<TSource, Int32, IEnumerable<TCollection>>
Fonction de transformation à appliquer à chaque élément source ; le deuxième paramètre de la fonction représente l'index de l'élément source.
resultSelector
Type : System.Func<TSource, TCollection, TResult>
Fonction de transformation à appliquer à chaque élément de la séquence intermédiaire.

Valeur de retour

Type : System.Collections.Generic.IEnumerable<TResult>
IEnumerable<T> dont les éléments résultent d'un appel de la fonction de transformation collectionSelector de type un-à-plusieurs sur chaque élément de source et qui mappe ensuite chaque élément de la séquence et l'élément source correspondant avec un élément de résultat.

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

La méthode SelectMany<TSource, TCollection, TResult>(IEnumerable<TSource>, Func<TSource, Int32, IEnumerable<TCollection>>, Func<TSource, TCollection, TResult>) est utile lorsque vous devez garder les éléments de source dans la portée de la logique de requête qui se produit après l'appel de SelectMany<TSource, TCollection, TResult>(IEnumerable<TSource>, Func<TSource, Int32, IEnumerable<TCollection>>, Func<TSource, TCollection, TResult>). Consultez la section Exemple pour obtenir un exemple de code. Si une relation bidirectionnelle existe entre des objets de type TSource et des objets de type TCollection, c'est-à-dire qu'un objet de type TCollection fournit une propriété pour récupérer l'objet TSource qui l'a produit, vous n'avez pas besoin de cette surcharge de SelectMany<TSource, TCollection, TResult>(IEnumerable<TSource>, Func<TSource, Int32, IEnumerable<TCollection>>, Func<TSource, TCollection, TResult>). Utilisez plutôt SelectMany<TSource, TResult>(IEnumerable<TSource>, Func<TSource, Int32, IEnumerable<TResult>>) et remontez à l'objet TSource par l'objet TCollection.

.NET Framework

Pris en charge dans : 4, 3.5

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

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)
Merci pour vos suggestions.

Ajouts de la communauté

Afficher:
© 2014 Microsoft. Tous droits réservés.