Поиск…


Вступление

Take, Skip, TakeWhile и SkipWhile все называются Partitioning Operators, так как они получают раздел входной последовательности, определяемый заданным условием. Обсудим эти операторы

Возьмите метод

Метод Take Принимает элементы до заданного положения, начиная с первого элемента в последовательности. Подпись Take:

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

Пример:

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

Выход:

Результат - 1,5,8,4 и 9, чтобы получить пять элементов.

Метод пропуска

Пропускает элементы до заданной позиции, начиная с первого элемента в последовательности.

Подпись Skip:

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

пример

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

Результат: результат равен 3,6,7,2 и 0 для получения элемента.

TakeWhile ():

Возвращает элементы из данной коллекции, пока указанное условие не будет истинным. Если первый элемент сам не удовлетворяет условию, он возвращает пустую коллекцию.

Подпись TakeWhile ():

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

Другая надпись:

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

Пример I:

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

Выход:

Он вернет Элементы 1,5,8 и 4

Пример II:

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

Выход:

Он будет возвращать элементы 1,2,3 и 4

SkipWhile ()

Пропускает элементы на основе условия, пока элемент не удовлетворяет условию. Если первый элемент сам не удовлетворяет условию, он пропускает 0 элементов и возвращает все элементы в последовательности.

Подпись SkipWhile ():

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

Другая надпись:

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

Пример I:

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

Выход:

Он вернет элемент 9,3,6,7,2 и 0.

Пример II:

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

Выход:

Он вернет элемент 1,9,3,6,7,2 и 0.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow