linq
Linq utilisant Take while et Skip While
Recherche…
Introduction
Take, Skip, TakeWhile et SkipWhile sont tous des opérateurs de partitionnement puisqu'ils obtiennent une section d'une séquence d'entrée déterminée par une condition donnée. Parlons de ces opérateurs
Prendre méthode
La méthode Take Prend les éléments à une position spécifiée à partir du premier élément d'une séquence. Signature de Take:
Public static IEnumerable<TSource> Take<TSource>(this IEnumerable<TSource> source,int count);
Exemple:
int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var TakeFirstFiveElement = numbers.Take(5);
Sortie:
Le résultat est 1,5,8,4 et 9 pour obtenir cinq éléments.
Méthode Skip
Saut des éléments à une position spécifiée à partir du premier élément d'une séquence.
Signature de Skip:
Public static IEnumerable Skip(this IEnumerable source,int count);
Exemple
int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.Take(5);
Sortie: Le résultat est 3,6,7,2 et 0 pour obtenir l'élément.
TakeWhile ():
Retourne les éléments de la collection donnée jusqu'à ce que la condition spécifiée soit vraie. Si le premier élément lui-même ne satisfait pas la condition, il renvoie alors une collection vide.
Signature de TakeWhile ():
Public static IEnumerable <TSource> TakeWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,bool>,predicate);
Une autre signature de surcharge:
Public static IEnumerable <TSource> TakeWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,int,bool>,predicate);
Exemple I:
int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.TakeWhile(n => n < 9);
Sortie:
Il reviendra des résultats 1,5,8 et 4
Exemple II:
int[] numbers = { 1, 2, 3, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.TakeWhile((n,Index) => n < index);
Sortie:
Il renverra de l'élément 1,2,3 et 4
SkipWhile ()
Ignore les éléments en fonction d'une condition jusqu'à ce qu'un élément ne réponde pas à la condition. Si le premier élément lui-même ne satisfait pas la condition, il ignore alors 0 élément et renvoie tous les éléments de la séquence.
Signature de SkipWhile ():
Public static IEnumerable <TSource> SkipWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,bool>,predicate);
Une autre signature de surcharge:
Public static IEnumerable <TSource> SkipWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,int,bool>,predicate);
Exemple I:
int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.SkipWhile(n => n < 9);
Sortie:
Il retournera de l'élément 9,3,6,7,2 et 0.
Exemple II:
int[] numbers = { 4, 5, 8, 1, 9, 3, 6, 7, 2, 0 };
var indexed = numbers.SkipWhile((n, index) => n > index);
Sortie:
Il renverra de l'élément 1,9,3,6,7,2 et 0.