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.TakeWhile<TSource>, méthode (IEnumerable<TSource>, Func<TSource, Int32, Boolean>)

Retourne des éléments d'une séquence tant que la condition spécifiée a la valeur true. L'index de l'élément est utilisé dans la logique de la fonction de prédicat.

Espace de noms :  System.Linq
Assembly :  System.Core (dans System.Core.dll)

public static IEnumerable<TSource> TakeWhile<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, int, bool> predicate
)

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
Type : System.Collections.Generic.IEnumerable<TSource>
Séquence à partir de laquelle retourner les éléments.
predicate
Type : System.Func<TSource, Int32, Boolean>
Fonction permettant de tester chaque élément source pour une condition ; le deuxième paramètre de la fonction représente l'index de l'élément source.

Valeur de retour

Type : System.Collections.Generic.IEnumerable<TSource>
IEnumerable<T> qui contient les éléments de la séquence d'entrée se trouvant avant l'élément à partir duquel le test échoue.

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 predicate 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 TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource, Int32, Boolean>) teste chaque élément de source à l'aide de predicate et retourne l'élément si la valeur obtenue est true. L'énumération s'arrête lorsque la fonction de prédicat retourne la valeur false pour un élément ou lorsque source ne contient plus d'élément.

Le premier argument de predicate représente l'élément à tester. Le deuxième argument représente l'index de base zéro de l'élément dans source.

Les méthodes TakeWhile et SkipWhile sont des compléments fonctionnels. Soit une séquence coll et une fonction pure p ; la concaténation des résultats de coll.TakeWhile(p) et de coll.SkipWhile(p) retourne la même séquence que coll.

Dans une syntaxe d'expression de requête Visual Basic, une clause Take While se traduit en un appel de TakeWhile.

L'exemple de code suivant montre comment utiliser TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource, Int32, Boolean>) pour retourner des éléments à partir du début d'une séquence tant qu'une condition qui utilise l'index d'un élément a la valeur true.


            string[] fruits = { "apple", "passionfruit", "banana", "mango", 
                                  "orange", "blueberry", "grape", "strawberry" };

            IEnumerable<string> query =
                fruits.TakeWhile((fruit, index) => fruit.Length >= index);

            foreach (string fruit in query)
            {
                Console.WriteLine(fruit);
            }

            /*
             This code produces the following output:

             apple
             passionfruit
             banana
             mango
             orange
             blueberry
            */



.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
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft