linq
Linq, используя Take while And Skip While
Поиск…
Вступление
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.