ABCNET - Руководство пользователя/Расширения/Последовательности
Операция создания кортежа из последовательности
[править]Создаёт кортёж из последовательности.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.ToTuple2
- ABCNET.Extensions.SequenceE.ToTuple3
- ABCNET.Extensions.SequenceE.ToTuple4
- ABCNET.Extensions.SequenceE.ToTuple5
- ABCNET.Extensions.SequenceE.ToTuple6
- ABCNET.Extensions.SequenceE.ToTuple7
Параметр | Описание |
---|---|
collection | Последовательность. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
Tuple<int, int> tup = (new int[]{1, 2}).ToTuple2();
tup.Print();
}
}
Операция разбивания последовательности на серии определённой длины
[править]Создаёт последовательность серий.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.Batch
Параметр | Описание |
---|---|
collection | Последовательность. |
count | Длина серии. |
Параметр | Описание |
---|---|
collection | Последовательность. |
count | Длина серии. |
selector | Функция-селектор. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var arr = (new int[]{1, 2, 3, 4, 5, 6}).Batch(2, x=>x*x);
arr.PrintLines();
}
}
Операция разбивания последовательности на последовательность пар соседних элементов
[править]Создаёт последовательность пар соседних элементов.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.Pairwaise
Параметр | Описание |
---|---|
collection | Последовательность. |
Применяет к каждому элементу функцию-селектор
Параметр | Описание |
---|---|
collection | Последовательность. |
selector | Функция-селектор. |
Применяет к обоим элементам функцию-селектор и возвращает её результат
Параметр | Описание |
---|---|
collection | Последовательность. |
selector | Функция-селектор. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var arr = (new int[]{1, 2, 3, 4, 5, 6}).Pairwise();
arr.PrintLines();
var arr = (new int[]{1, 2, 3, 4, 5, 6}).Pairwise(x=>x*x);
arr.PrintLines();
var arr = (new int[]{1, 2, 3, 4, 5, 6}).Pairwise((a, b)=>a*b);
arr.PrintLines();
}
}
Операция ассоциации элементов последовательности с их проекциями
[править]Создаёт последовательность элементов и их проекций.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.Associate
Параметр | Описание |
---|---|
collection | Последовательность. |
selector | Функция-селектор. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var arr = (new int[]{1, 2, 3, 4, 5, 6}).Associate(x=>x*x);
arr.PrintLines();
}
}
Операция объединения двух последовательностей в последовательность двухэлементных кортежей
[править]Создаёт последовательность двухэлементных кортежей.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.ZipTuple
Параметр | Описание |
---|---|
collection | Последовательность. |
secondCollection | Функция-селектор. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var arr = (new int[]{1, 2, 3}).ZipTuple(new string[]{"A", "B", "C"});
arr.PrintLines();
}
}
Операция разъединения последовательности двухэлементных кортежей в кортёж из двух последовательностей
[править]Создаёт кортёж из двух последовательностей.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.UnzipTuple
Параметр | Описание |
---|---|
collection | Последовательность. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var arr = new Tuple<int, int>[](new Tuple<int, int>(1, 2), new Tuple<int, int>(3, 4));
arr.UnzipTuple().PrintLines();
}
}
Операция нумерации последовательности
[править]Создаёт пронумерованную последовательность.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.Numerate
Параметр | Описание |
---|---|
collection | Последовательность. |
Параметр | Описание |
---|---|
collection | Последовательность. |
selector | Функция-селектор. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var arr = (new char[]('A', 'B', 'C')).Numerate();
arr.PrintLines();
}
}
Операция сортировки последовательности
[править]Создаёт отсортированную последовательность.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.Sort
Параметр | Описание |
---|---|
collection | Последовательность. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var arr = (new int[](3, 1, 2)).Sort();
arr.PrintLines();
}
}
Операция сортировки по убыванию последовательности
[править]Создаёт отсортированную по убыванию последовательность.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.SortDescending
Параметр | Описание |
---|---|
collection | Последовательность. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var arr = (new int[](3, 1, 2)).SortDescending();
arr.PrintLines();
}
}
Операция нахождения меньшего элемента по ключу
[править]Возвращает меньший элемент последовательности по ключу.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.MinBy
Параметр | Описание |
---|---|
collection | Последовательность. |
selector | Последовательность. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var arr = (new int[](3, 1, 2)).MinBy(x=>x);
arr.Print();
}
}
Операция нахождения большего элемента по ключу
[править]Возвращает большего элемент последовательности по ключу.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.MaxBy
Параметр | Описание |
---|---|
collection | Последовательность. |
selector | Последовательность. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var arr = (new int[](3, 1, 2)).MaxBy(x=>x);
arr.Print();
}
}
Операция нахождения декартового произведения последовательностей
[править]Возвращает декартово произведение последовательностей.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.Cartesian
Параметр | Описание |
---|---|
collectionFirst | Первая последовательность. |
collectionSecond | Вторая последовательность. |
Применяет функцию-селектор к элементам
Параметр | Описание |
---|---|
collectionFirst | Первая последовательность. |
collectionSecond | Вторая последовательность. |
selector | Функция-селектор. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var arr = (new int[](1, 2, 3)).Cartesian(new int[]{4, 5, 6});
arr.Print();
}
}
Операция перемешивания последовательности
[править]Возвращает перемешанную последовательность.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.Shuffle
Параметр | Описание |
---|---|
collection | Последовательность. |
Применяет функцию-селектор к элементам
Параметр | Описание |
---|---|
collection | Последовательность. |
selector | Функция-селектор. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var arr = (new int[](1, 2, 3)).Shuffle();
arr.Print();
}
}
Операция чередования элементов двух последовательностей
[править]Возвращает чередованную последовательность.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.Interleave
Параметр | Описание |
---|---|
collectionFirst | Первая последовательность. |
collectionSecond | Вторая последовательность. |
onlyPairs | Возвращать ли только пары элементов, или возвращать и оставшиеся элементы большей последовательности. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var arr = (new int[](1, 3, 5)).Interleave(new int[](2, 4, 6));
arr.Print();
}
}
Операция произведения элементов последовательности
[править]Возвращает чередованную последовательность.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.Product
Параметр | Описание |
---|---|
collection | Последовательность. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var a = (new int[](1, 3, 5)).Product();
a.Print();
}
}
Операция разделения последовательности на две по заданному условию
[править]Возвращает разделённые последовательности.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.Partition
Параметр | Описание |
---|---|
collection | Последовательность. |
predicate | Предикат. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var a = (new int[](1, 2, 3, 4, 5, 6)).Partition(x=>x%2==0);
a.Print();
}
}
Операции вывода последовательности на экран
[править]Выводит последовательность на экран.
Методы, выполняющие данную операцию:
- ABCNET.Extensions.SequenceE.Print
- ABCNET.Extensions.SequenceE.PrintLine
- ABCNET.Extensions.SequenceE.PrintLines
- ABCNET.Extensions.SequenceE.PrintBy
- ABCNET.Extensions.SequenceE.PrintLineBy
- ABCNET.Extensions.SequenceE.PrintLinesBy
Параметр | Описание |
---|---|
collection | Последовательность. |
delimiter | Разделитель. |
start | Первый выводимый символ строки. |
end | Последний выводимый символ строки. |
Делает переход на новую строку
Параметр | Описание |
---|---|
collection | Последовательность. |
delimiter | Разделитель. |
start | Первый выводимый символ строки. |
end | Последний выводимый символ строки. |
Выводит каждый элемент на новой строке
Параметр | Описание |
---|---|
collection | Последовательность. |
Параметр | Описание |
---|---|
collection | Последовательность. |
selector | Функция-селектор. |
delimiter | Разделитель. |
start | Первый выводимый символ строки. |
end | Последний выводимый символ строки. |
Делает переход на новую строку
Параметр | Описание |
---|---|
collection | Последовательность. |
selector | Функция-селектор. |
delimiter | Разделитель. |
start | Первый выводимый символ строки. |
end | Последний выводимый символ строки. |
Выводит каждый элемент на новой строке
Параметр | Описание |
---|---|
collection | Последовательность. |
selector | Функция-селектор. |
Пример:
using ABCNET.Utils;
using ABCNET.Extensions;
public static class Program
{
public static void Main()
{
var a = new int[](1, 2, 3, 4, 5, 6);
a.Print();
}
}