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.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow