linq
Linq använder Take while och hoppar medan
Sök…
Introduktion
Take, Skip, TakeWhile och SkipWhile kallas alla Partitioneringsoperatörer eftersom de får ett avsnitt av en ingångssekvens som bestäms av ett givet tillstånd. Låt oss diskutera dessa operatörer
Ta metod
Take-metoden tar element upp till en specificerad position med början från det första elementet i en sekvens. Signatur på Take:
Public static IEnumerable<TSource> Take<TSource>(this IEnumerable<TSource> source,int count);
Exempel:
int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var TakeFirstFiveElement = numbers.Take(5);
Produktion:
Resultatet är 1,5,8,4 och 9 för att få fem element.
Hoppa över metod
Hoppar över element till en specificerad position med början från det första elementet i en sekvens.
Skips underskrift:
Public static IEnumerable Skip(this IEnumerable source,int count);
Exempel
int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.Take(5);
Output: Resultatet är 3,6,7,2 och 0 för att få elementet.
TakeWhile ():
Returnerar element från den givna samlingen tills det angivna villkoret är sant. Om det första elementet i sig inte uppfyller villkoret returnerar en tom samling.
Signatur av TakeWhile ():
Public static IEnumerable <TSource> TakeWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,bool>,predicate);
En annan signatur över belastning:
Public static IEnumerable <TSource> TakeWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,int,bool>,predicate);
Exempel I:
int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.TakeWhile(n => n < 9);
Produktion:
Det kommer att återkomma från eleament 1,5,8 och 4
Exempel II:
int[] numbers = { 1, 2, 3, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.TakeWhile((n,Index) => n < index);
Produktion:
Det kommer att återgå från element 1,2,3 och 4
SkipWhile ()
Hoppar över element baserade på ett villkor tills ett element inte uppfyller villkoret. Om det första elementet i sig inte uppfyller villkoret hoppar det över 0 element och returnerar alla element i sekvensen.
SkipWhile (): Signatur
Public static IEnumerable <TSource> SkipWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,bool>,predicate);
En annan signatur över belastning:
Public static IEnumerable <TSource> SkipWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,int,bool>,predicate);
Exempel I:
int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.SkipWhile(n => n < 9);
Produktion:
Det kommer att returnera av elementet 9,3,6,7,2 och 0.
Exempel II:
int[] numbers = { 4, 5, 8, 1, 9, 3, 6, 7, 2, 0 };
var indexed = numbers.SkipWhile((n, index) => n > index);
Produktion:
Det kommer tillbaka av elementet 1,9,3,6,7,2 och 0.