Методы расширения типа array of T

function Shuffle<T>(Self: array of T): array of T; extensionmethod;
        Перемешивает элементы массива случайным образом
function AdjacentFind<T>(Self: array of T): integer; extensionmethod;
        Находит первую пару подряд идущих одинаковых элементов и возвращает индекс первого элемента пары. Если не найден, возвращается -1
function IndexMin<T>(Self: array of T): integer; extensionmethod; where T: System.IComparable<T>;
        Возвращает индекс первого минимального элемента
function IndexMax<T>(self: array of T): integer; extensionmethod; where T: System.IComparable<T>;
        Возвращает индекс первого максимального элемента
procedure Replace<T>(Self: array of T; oldValue,newValue: T); extensionmethod;
        Заменяет в массиве все вхождения одного значения на другое
procedure Transform<T>(self: array of T; f: T -> T); extensionmethod;
        Преобразует элементы массива по заданному правилу
function BinarySearch<T>(self: array of T; x: T): integer; extensionmethod;
        Выполняет бинарный поиск в отсортированном массиве
function ConvertAll<T,T1>(self: array of T; converter: System.Converter<T,T1>): array of T1; extensionmethod;
        Преобразует массив одного типа в массив другого типа
function Find<T>(self: array of T; p: T->boolean): T; extensionmethod;
        Выполняет поиск первого элемента в массиве, удовлетворяющего предикату. Если не найден, возвращается нулевое значение соответствующего типа
function FindIndex<T>(self: array of T; p: T->boolean): integer; extensionmethod;
        Выполняет поиск индекса первого элемента в массиве, удовлетворяющего предикату. Если не найден, возвращается -1
function FindAll<T>(self: array of T; p: T->boolean): array of T; extensionmethod;
        Возвращает в виде мессива все элементы, удовлетворяющие предикатуы
function FindLast<T>(self: array of T; p: T->boolean): T; extensionmethod;
        Выполняет поиск последнего элемента в массиве, удовлетворяющего предикату. Если не найден, возвращается нулевое значение соответствующего типа
function FindLastIndex<T>(self: array of T; p: T->boolean): integer; extensionmethod;
        Выполняет поиск индекса последнего элемента в массиве, удовлетворяющего предикату. Если не найден, возвращается нулевое значение соответствующего типа
function IndexOf<T>(self: array of T; x: T): integer; extensionmethod;
        Возвращает индекс первого вхождения элемента или -1 если элемент не найден
function LastIndexOf<T>(self: array of T; x: T): integer; extensionmethod;
        Возвращает индекс последнего вхождения элемента или -1 если элемент не найден
procedure Resize<T>(self: array of T; x: integer); extensionmethod;
        Меняет размер массива
procedure Sort<T>(self: array of T); extensionmethod;
        Сортирует массив по возрастанию
procedure Sort<T>(self: array of T; cmp: (T,T) -> integer); extensionmethod;
        Сортирует массив по возрастанию, используя cmp в качестве функции сравнения элементов
function Slice<T>(Self: array of T; from,step: integer): array of T; extensionmethod;
        Возвращает срез массива от индекса from с шагом step
function Slice<T>(Self: array of T; from,step,count: integer): array of T; extensionmethod;
        Возвращает срез массива от индекса from с шагом step длины не более count