Szukaj…


Wprowadzenie

Operacje Take, Skip, TakeWhile i SkipWhile nazywane są operatorami partycjonowania, ponieważ uzyskują one sekwencję sekwencji wejściowej określoną przez dany warunek. Omówmy tych operatorów

Wybierz metodę

Metoda Take Przenosi elementy do określonej pozycji, zaczynając od pierwszego elementu w sekwencji. Podpis Take:

Public static IEnumerable<TSource> Take<TSource>(this IEnumerable<TSource> source,int count);

Przykład:

int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var TakeFirstFiveElement = numbers.Take(5);

Wynik:

Wynik to 1,5,8,4 i 9, aby uzyskać pięć elementów.

Pomiń metodę

Pomija elementy do określonej pozycji, zaczynając od pierwszego elementu w sekwencji.

Podpis Skip:

Public static IEnumerable Skip(this IEnumerable source,int count);

Przykład

int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.Take(5);

Wyjście: Wynik to 3,6,7,2 i 0, aby uzyskać element.

TakeWhile ():

Zwraca elementy z danej kolekcji, dopóki określony warunek nie zostanie spełniony. Jeśli pierwszy element sam nie spełnia warunku, zwraca pustą kolekcję.

Podpis TakeWhile ():

Public static IEnumerable <TSource> TakeWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,bool>,predicate);

Kolejna sygnatura przeciążenia:

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

Przykład I:

int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.TakeWhile(n => n < 9);

Wynik:

Wróci z Eleament 1,5,8 i 4

Przykład II:

int[] numbers = { 1, 2, 3, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.TakeWhile((n,Index) => n < index);

Wynik:

Zwróci element 1,2,3 i 4

SkipWhile ()

Pomija elementy na podstawie warunku, dopóki element nie spełni warunku. Jeśli pierwszy element sam nie spełnia warunku, pomija 0 elementów i zwraca wszystkie elementy w sekwencji.

Podpis SkipWhile ():

Public static IEnumerable <TSource> SkipWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,bool>,predicate);

Kolejna sygnatura przeciążenia:

Public static IEnumerable <TSource> SkipWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,int,bool>,predicate);

Przykład I:

int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.SkipWhile(n => n < 9);

Wynik:

Zwróci element 9,3,6,7,2 i 0.

Przykład II:

int[] numbers = { 4, 5, 8, 1, 9, 3, 6, 7, 2, 0 };
var indexed = numbers.SkipWhile((n, index) => n > index);

Wynik:

Zwróci element 1,9,3,6,7,2 i 0.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow