Выбрать главу

Все последовательности имеют множество методов обработки последовательностей, реализованных как методы расширения.

Список методов последовательностей

* Методы Print

* Метод фильтрации Where

* Метод проецирования Select

* Метод проецирования SelectMany

* Методы Take, TakeWhile, Skip, SkipWhile

* Метод Sorted

* Методы OrderBy, OrderByDescending

* Методы ThenBy,ThenByDescending

* Метод ForEach

* Метод Concat

* Метод JoinIntoString

* Метод Zip

* Метод Distinct

* Методы Union,Intersect,Except

* Метод Reverse

* Метод SequenceEqual

* Методы First, FirstOrDefault

* Методы Last, LastOrDefault

* Методы Single, SingleOrDefault

* Метод DefaultIfEmpty

* Методы ElementAt, ElementAtOrDefault

* Методы Any, All

* Методы Count

* Метод Contains

* Метод Aggregate

* Методы Sum, Average

* Методы Min, Max

* Метод Join

* Метод GroupJoin

* Метод GroupBy

* Метод AsEnumerable

* Методы ToArray, ToList

* Метод ToDictionary

* Метод ToLookup

* Метод OfType

* Метод Cast

Методы для последовательностей

Методы Print

Описание методов

Методы приведены для последовательности sequence of T.

function Print(delim: string := ' '): sequence of T;

Выводит последовательность на экран, используя delim в качестве разделителя.

function Println(delim: string := ' '): sequence of T;

Выводит последовательность на экран, используя delim в качестве разделителя, и переходит на новую строку.

Пример

Метод фильтрации Where

Описание методов

Методы приведены для последовательности sequence of T.

function Where(predicate: T->boolean): sequence of T;

Выполняет фильтрацию последовательности значений на основе заданного предиката. Возвращает подпоследовательность значений исходной последовательности, удовлетворяющих предикату.

function Where(predicate: (T,integer)->boolean): sequence of T;

Выполняет фильтрацию последовательности значений на основе заданного предиката с учётом индекса элемента. Возвращает подпоследовательность значений исходной последовательности, удовлетворяющих предикату.

Пример

Метод проецирования Select

Описание методов

Методы приведены для последовательности sequence of T.

function Select<Res>(selector: T->Res): sequence of Res;

Проецирует каждый элемент последовательности на другой элемент с помощью функции selector. Возвращает последовательность элементов, полученных в результате проецирования.

function Select<Res>(selector: (T,integer)->Res): sequence of Res;

Проецирует каждый элемент последовательности на другой элемент с помощью функции selector, учитывающую индекс элемента. Возвращает последовательность элементов, полученных в результате проецирования.

Пример

Метод проецирования SelectMany

Описание методов

Методы приведены для последовательности sequence of T.

function SelectMany<Res>(selector: T->sequence of Res): sequence of Res;

Проецирует каждый элемент последовательности в новую последовательность и объединяет результирующие последовательности в одну последовательность. Возвращает объединённую последовательность.

function SelectMany<Res>(selector: (T,integer)->sequence of Res): sequence of Res;

Проецирует каждый элемент последовательности в новую последовательность с учетом индекса элемента и объединяет результирующие последовательности в одну последовательность. Возвращает объединённую последовательность.

function SelectMany<Coll,Res>(collSelector: (T,integer)->sequence of Coll; resultSelector: (T,Coll)->Res): sequence of Res;

Проецирует каждый элемент последовательности в новую последовательность, объединяет результирующие последовательности в одну и вызывает функцию селектора результата для каждого элемента этой последовательности. Индекс каждого элемента исходной последовательности используется в промежуточной проецированной форме этого элемента. Возвращает объединённую последовательность.

function SelectMany<Coll,Res>(collSelector: T->sequence of Coll; resultSelector: (T,Coll)->Res): sequence of Res;

Проецирует каждый элемент последовательности в новую последовательность, объединяет результирующие последовательности в одну и вызывает функцию селектора результата для каждого элемента этой последовательности. Возвращает объединённую последовательность.

Пример

Методы Take, TakeWhile, Skip, SkipWhile

Описание методов

Методы приведены для последовательности sequence of T.

function Take(count: integer): sequence of T;

Возвращает последовательность из count элементов с начала последовательности.

function TakeWhile(predicate: T->boolean): sequence of T;

Возвращает цепочку элементов последовательности, удовлетворяющих указанному условию, до первого не удовлетворяющего.

function TakeWhile(predicate: (T,integer)->boolean): sequence of T;

Возвращает цепочку элементов последовательности, удовлетворяющих указанному условию, до первого не удовлетворяющего (учитывается индекс элемента).

function Skip(count: integer): sequence of T;

Пропускает count элементов в последовательности и возвращает остальные элементы.

function SkipWhile(predicate: T->boolean): sequence of T;

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

function SkipWhile(predicate: (T,integer)->boolean): sequence of T;

Пропускает элементы в последовательности, пока они удовлетворяют заданному условию, и затем возвращает оставшиеся элементы (учитывается индекс элемента).

Пример

Метод Sorted

Описание методов

Методы приведены для последовательности sequence of T.

function Sorted(): sequence of T;

Возвращает отсортированную по возрастанию последовательность.

Пример

Методы OrderBy, OrderByDescending