Class BaseIndexable[T, TCertain]

Namespace NStar.Core
Assembly NStar.Core.dll
Представляет базовый абстрактный класс для всех коллекций в фреймворке .NStar, которые могут быть проиндексированы. Сюда относятся: разнообразные списки, буферы, срез, строка и прочие. Тем не менее, в некоторых коллекциях, технически относимых сюда (например, ParallelHashSet[T]), на индексацию лучше забить, так как она не имеет практического смысла. Сюда не относятся коллекции, стоящие в принципе отдельно от индексируемых, для которых не имеют смысла практически никакие из присутствующих в этом классе методов, например, Stack[T], Queue[T], Chain и т. д.
[ComVisible(true)]
[Serializable]
public abstract class BaseIndexable[T, TCertain] : BaseIndexable[T], IReadOnlyList[T], IReadOnlyCollection[T], IEnumerable[T], IEnumerable, IDisposable, IEquatable[TCertain] where TCertain : BaseIndexable[T, TCertain], new()

Type Parameters

T
Тип элемента данной коллекции.
TCertain
Ссылка-замыкание данной коллекции на себя. Без этого параметра все методы, где нужно вернуть коллекцию того же типа, что и коллекция, для которой метод вызывается (например, GetRange(int, int, bool)), возвращали бы тип, в котором объявлены, вне зависимости от того, что он, например, абстрактный (как, например, данный тип), и при дальнейших операциях, которые есть в конкретном типе данной коллекции, но которых нет в базовом типе, пришлось бы добавлять явное приведение, что явно является неудобным и лишним действием. А так, если от конкретного типа без этой ссылки-замыкания уже не наследовать другие типы, явное приведение не нужно - меньше не определяющего полезную функциональность программы "boilerplate"-кода!

Inheritance

Implements

Derived

Inherited Members

BaseIndexable[T].this[Index, bool]
BaseIndexable[T].Length
BaseIndexable[T].IsCompatibleObject(object)
BaseIndexable[T].AsMemory()
BaseIndexable[T].AsMemory(Index)
BaseIndexable[T].AsMemory(int)
BaseIndexable[T].AsMemory(int, int)
BaseIndexable[T].AsMemory(Range)
BaseIndexable[T].AsSpan()
BaseIndexable[T].AsSpan(Index)
BaseIndexable[T].AsSpan(int)
BaseIndexable[T].AsSpan(int, int)
BaseIndexable[T].AsSpan(Range)
BaseIndexable[T].Contains(IEnumerable[T])
BaseIndexable[T].Contains(IEnumerable[T], int)
BaseIndexable[T].Contains(IEnumerable[T], int, int)
BaseIndexable[T].Contains(IEnumerable[T], IEqualityComparer[T])
BaseIndexable[T].Contains(IEnumerable[T], int, IEqualityComparer[T])
BaseIndexable[T].Contains(IEnumerable[T], int, int, IEqualityComparer[T])
BaseIndexable[T].Contains(T)
BaseIndexable[T].Contains(T, int)
BaseIndexable[T].Contains(T, int, int)
BaseIndexable[T].ContainsAny(IEnumerable[T])
BaseIndexable[T].ContainsAny(IEnumerable[T], int)
BaseIndexable[T].ContainsAny(IEnumerable[T], int, int)
BaseIndexable[T].ContainsAnyExcluding(IEnumerable[T])
BaseIndexable[T].ContainsAnyExcluding(IEnumerable[T], int)
BaseIndexable[T].ContainsAnyExcluding(IEnumerable[T], int, int)
BaseIndexable[T].CopyTo(Array, int)
BaseIndexable[T].CopyTo(int, T[], int, int)
BaseIndexable[T].CopyTo(T[])
BaseIndexable[T].CopyTo(T[], int)
BaseIndexable[T].Dispose()
BaseIndexable[T].EndsWith(T)
BaseIndexable[T].EndsWith(IEnumerable[T])
BaseIndexable[T].Equals(IEnumerable[T])
BaseIndexable[T].Equals(IEnumerable[T], int, bool)
BaseIndexable[T].Equals(object)
BaseIndexable[T].Exists(Predicate[T])
BaseIndexable[T].Find(Predicate[T])
BaseIndexable[T].FindAll(Predicate[T])
BaseIndexable[T].FindIndex(int, int, Predicate[T])
BaseIndexable[T].FindIndex(int, Predicate[T])
BaseIndexable[T].FindIndex(Predicate[T])
BaseIndexable[T].FindLast(Predicate[T])
BaseIndexable[T].FindLastIndex(int, int, Predicate[T])
BaseIndexable[T].FindLastIndex(int, Predicate[T])
BaseIndexable[T].FindLastIndex(Predicate[T])
BaseIndexable[T].GetEnumerator()
BaseIndexable[T].GetHashCode()
BaseIndexable[T].GetSlice()
BaseIndexable[T].GetSlice(Index)
BaseIndexable[T].GetSlice(int)
BaseIndexable[T].GetSlice(int, int)
BaseIndexable[T].GetSlice(Range)
BaseIndexable[T].IndexOf(IEnumerable[T])
BaseIndexable[T].IndexOf(IEnumerable[T], int)
BaseIndexable[T].IndexOf(IEnumerable[T], int, int, out int)
BaseIndexable[T].IndexOf(IEnumerable[T], int, int)
BaseIndexable[T].IndexOf(IEnumerable[T], IEqualityComparer[T])
BaseIndexable[T].IndexOf(IEnumerable[T], int, IEqualityComparer[T])
BaseIndexable[T].IndexOf(IEnumerable[T], int, int, IEqualityComparer[T])
BaseIndexable[T].IndexOf(IEnumerable[T], int, int, IEqualityComparer[T], out int)
BaseIndexable[T].IndexOf(T)
BaseIndexable[T].IndexOf(T, int)
BaseIndexable[T].IndexOf(T, int, int)
BaseIndexable[T].IndexOfAny(IEnumerable[T])
BaseIndexable[T].IndexOfAny(IEnumerable[T], int)
BaseIndexable[T].IndexOfAny(IEnumerable[T], int, int)
BaseIndexable[T].IndexOfAnyExcluding(IEnumerable[T])
BaseIndexable[T].IndexOfAnyExcluding(IEnumerable[T], int)
BaseIndexable[T].IndexOfAnyExcluding(IEnumerable[T], int, int)
BaseIndexable[T].LastIndexOf(IEnumerable[T])
BaseIndexable[T].LastIndexOf(IEnumerable[T], int)
BaseIndexable[T].LastIndexOf(IEnumerable[T], int, int)
BaseIndexable[T].LastIndexOf(IEnumerable[T], int, int, out int)
BaseIndexable[T].LastIndexOf(T)
BaseIndexable[T].LastIndexOf(T, int)
BaseIndexable[T].LastIndexOf(T, int, int)
BaseIndexable[T].LastIndexOfAny(IEnumerable[T])
BaseIndexable[T].LastIndexOfAny(IEnumerable[T], int)
BaseIndexable[T].LastIndexOfAny(IEnumerable[T], int, int)
BaseIndexable[T].LastIndexOfAnyExcluding(IEnumerable[T])
BaseIndexable[T].LastIndexOfAnyExcluding(IEnumerable[T], int)
BaseIndexable[T].LastIndexOfAnyExcluding(IEnumerable[T], int, int)
BaseIndexable[T].Random()
BaseIndexable[T].Random(Random)
BaseIndexable[T].Skip(int)
BaseIndexable[T].SkipLast(int)
BaseIndexable[T].SkipWhile(Func<T, bool>)
BaseIndexable[T].SkipWhile(Func<T, int, bool>)
BaseIndexable[T].StartsWith(T)
BaseIndexable[T].StartsWith(IEnumerable[T])
BaseIndexable[T].Take(int)
BaseIndexable[T].TakeLast(int)
BaseIndexable[T].TakeWhile(Func<T, bool>)
BaseIndexable[T].TakeWhile(Func<T, int, bool>)
BaseIndexable[T].ToArray()
BaseIndexable[T].TrueForAll(Predicate[T])
object.Equals(object, object)
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()

Properties

this[Range, bool]

public virtual TCertain this[Range range, bool alwaysCopy = false] { get; }

Parameters

range Range
Диапазон в виде структуры Range.
alwaysCopy bool
Флаг, заставляющий метод принудительно возвращать копию диапазона (в некоторых производных коллекциях ничего не делает, в других, если он равен false, есть возможность вернуть только ссылку.

Property Value

TCertain
A shallow copy of a range of elements in the source collection.

Methods

Compare(int, TCertain, int)

Сравнивает диапазоны данной коллекции и указанной коллекции от указанных индексов и до конца меньшего из диапазонов элемент за элементом, возвращая длину общего префикса.
public virtual int Compare(int index, TCertain other, int otherIndex)

Parameters

index int
Индекс начала в данной коллекции.
other TCertain
Коллекция для сравнения диапазонов.
otherIndex int
Индекс начала в other.

Returns

int
Длина общего префикса указанных диапазонов (0, если первая же пара элементов различается, индекс первого отличающегося элемента (относительно начала диапазона, а НЕ какой-либо из коллекций), либо длина меньшего из диапазонов (от указанного для какой-либо из коллекций индекса до конца этой коллекции), если все элементы до его конца совпадают).

Compare(int, TCertain, int, int)

public virtual int Compare(int index, TCertain other, int otherIndex, int length)

Parameters

index int
Индекс начала в данной коллекции.
other TCertain
Коллекция для сравнения диапазонов.
otherIndex int
Индекс начала в other.
length int
Длина диапазонов.

Returns

int
Длина общего префикса указанных диапазонов (0, если первая же пара элементов различается, индекс первого отличающегося элемента (относительно начала диапазона, а НЕ какой-либо из коллекций), либо length, если все элементы до конца диапазонов совпадают).

Compare(TCertain)

Сравнивает данную коллекцию и указанную коллекцию элемент за элементом, возвращая длину общего префикса.
public virtual int Compare(TCertain other)

Parameters

other TCertain
Коллекция для сравнения.

Returns

int
Длина общего префикса указанных коллекций (0, если первая же пара элементов различается, индекс первого отличающегося элемента, либо длина меньшей из коллекций, если все элементы до его конца совпадают).

Compare(TCertain, int)

Сравнивает данную коллекцию и указанную коллекцию элемент за элементом, возвращая длину общего префикса, но не более length.
public virtual int Compare(TCertain other, int length)

Parameters

other TCertain
Коллекция для сравнения.
length int
Максимальная длина сравнения.

Returns

int
Длина общего префикса указанных коллекций (0, если первая же пара элементов различается, индекс первого отличающегося элемента не далее length, либо length, если все элементы до этого значения совпадают).

Contains(TCertain)

Проверяет, включает ли данная коллекция указанную последовательность элементов (с помощью алгоритма Бойера-Мура - подробнее здесь).
public virtual bool Contains(TCertain collection)

Parameters

collection TCertain
Последовательность для поиска в коллекции, для которой данный метод вызывается.

Returns

bool
true, если последовательность была найдена, иначе false.

Contains(TCertain, int)

Проверяет, включает ли диапазон данной коллекции от указанного индекса и до конца указанную последовательность элементов (с помощью алгоритма Бойера-Мура - подробнее здесь).
public virtual bool Contains(TCertain collection, int index)

Parameters

collection TCertain
Последовательность для поиска в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.

Returns

bool
true, если последовательность была найдена, иначе false.

Contains(TCertain, int, int)

Проверяет, включает ли диапазон данной коллекции указанную последовательность элементов (с помощью алгоритма Бойера-Мура - подробнее здесь).
public virtual bool Contains(TCertain collection, int index, int length)

Parameters

collection TCertain
Последовательность для поиска в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.
length int
Длина диапазона

Returns

bool
true, если последовательность была найдена, иначе false.

ContainsAny(TCertain)

public virtual bool ContainsAny(TCertain collection)

Parameters

collection TCertain
Коллекция элементов для поиска любого из них в коллекции, для которой данный метод вызывается.

Returns

bool
true, если какой-либо из элементов был найден, иначе false.

ContainsAny(TCertain, int)

public virtual bool ContainsAny(TCertain collection, int index)

Parameters

collection TCertain
Коллекция элементов для поиска любого из них в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.

Returns

bool
true, если какой-либо из элементов был найден, иначе false.

ContainsAny(TCertain, int, int)

public virtual bool ContainsAny(TCertain collection, int index, int length)

Parameters

collection TCertain
Коллекция элементов для поиска любого из них в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.
length int
Длина диапазона

Returns

bool
true, если какой-либо из элементов был найден, иначе false.

ContainsAnyExcluding(TCertain)

public virtual bool ContainsAnyExcluding(TCertain collection)

Parameters

collection TCertain
Коллекция элементов для поиска любого, кроме них, в коллекции, для которой данный метод вызывается.

Returns

bool
true, если какой-либо отличающийся элемент был найден, иначе false.

ContainsAnyExcluding(TCertain, int)

public virtual bool ContainsAnyExcluding(TCertain collection, int index)

Parameters

collection TCertain
Коллекция элементов для поиска любого, кроме них, в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.

Returns

bool
true, если какой-либо отличающийся элемент был найден, иначе false.

ContainsAnyExcluding(TCertain, int, int)

public virtual bool ContainsAnyExcluding(TCertain collection, int index, int length)

Parameters

collection TCertain
Коллекция элементов для поиска любого, кроме них, в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.
length int
Длина диапазона

Returns

bool
true, если какой-либо отличающийся элемент был найден, иначе false.

EndsWith(TCertain)

public virtual bool EndsWith(TCertain collection)

Parameters

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

Returns

bool
Булева константа (true или false).

Equals(TCertain?)

public virtual bool Equals(TCertain? other)

Parameters

other TCertain

Returns

bool
Булева константа (true или false).

Equals(TCertain?, int, bool)

public virtual bool Equals(TCertain? collection, int index, bool toEnd = false)

Parameters

collection TCertain
Последовательность, которой должен быть равен диапазон коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.
toEnd bool
Специальный флаг, определяющий, что возвращать, если достигнут конец collection, а в данной коллекции еще есть элементы. Если в такой ситуации этот флаг равен true, возвращает false и наоборот.

Returns

bool
Булева константа (true или false).

ForEach(Action<T, int>)

public virtual TCertain ForEach(Action<T, int> action)

Parameters

action Action<T, int>
Действие (метод или лямбда-выражение), принимающее на вход не только элемент, но и его индекс (типа int).

Returns

TCertain
Данная коллекция (подробнее см. в описании TCertain в BaseIndexable[T, TCertain]).

ForEach(Action<T, int>, int)

public virtual TCertain ForEach(Action<T, int> action, int index)

Parameters

action Action<T, int>
Действие (метод или лямбда-выражение), принимающее на вход не только элемент, но и его индекс (типа int).
index int
Индекс начала диапазона.

Returns

TCertain
Данная коллекция (подробнее см. в описании TCertain в BaseIndexable[T, TCertain]).

ForEach(Action<T, int>, int, int)

public virtual TCertain ForEach(Action<T, int> action, int index, int length)

Parameters

action Action<T, int>
Действие (метод или лямбда-выражение), принимающее на вход не только элемент, но и его индекс (типа int).
index int
Индекс начала диапазона.
length int
Длина диапазона.

Returns

TCertain
Данная коллекция (подробнее см. в описании TCertain в BaseIndexable[T, TCertain]).

ForEach(Action[T])

public virtual TCertain ForEach(Action[T] action)

Parameters

action Action[T]
Действие (метод или лямбда-выражение).

Returns

TCertain
Данная коллекция (подробнее см. в описании TCertain в BaseIndexable[T, TCertain]).

ForEach(Action[T], int)

public virtual TCertain ForEach(Action[T] action, int index)

Parameters

action Action[T]
Действие (метод или лямбда-выражение).
index int
Индекс начала диапазона.

Returns

TCertain
Данная коллекция (подробнее см. в описании TCertain в BaseIndexable[T, TCertain]).

ForEach(Action[T], int, int)

public virtual TCertain ForEach(Action[T] action, int index, int length)

Parameters

action Action[T]
Действие (метод или лямбда-выражение).
index int
Индекс начала диапазона.
length int
Длина диапазона.

Returns

TCertain
Данная коллекция (подробнее см. в описании TCertain в BaseIndexable[T, TCertain]).

GetAfter(IEnumerable[T])

public virtual TCertain GetAfter(IEnumerable[T] collection)

Parameters

collection IEnumerable[T]

Returns

TCertain

GetAfter(IEnumerable[T], int)

public virtual TCertain GetAfter(IEnumerable[T] collection, int index)

Parameters

collection IEnumerable[T]
index int

Returns

TCertain

GetAfter(IEnumerable[T], int, int)

public virtual TCertain GetAfter(IEnumerable[T] collection, int index, int length)

Parameters

collection IEnumerable[T]
index int
length int

Returns

TCertain

GetAfter(TCertain)

public virtual TCertain GetAfter(TCertain collection)

Parameters

collection TCertain

Returns

TCertain

GetAfter(TCertain, int)

public virtual TCertain GetAfter(TCertain collection, int index)

Parameters

collection TCertain
index int

Returns

TCertain

GetAfter(TCertain, int, int)

public virtual TCertain GetAfter(TCertain collection, int index, int length)

Parameters

collection TCertain
index int
length int

Returns

TCertain

GetAfterLast(IEnumerable[T])

public virtual TCertain GetAfterLast(IEnumerable[T] collection)

Parameters

collection IEnumerable[T]

Returns

TCertain

GetAfterLast(IEnumerable[T], int)

public virtual TCertain GetAfterLast(IEnumerable[T] collection, int index)

Parameters

collection IEnumerable[T]
index int

Returns

TCertain

GetAfterLast(IEnumerable[T], int, int)

public virtual TCertain GetAfterLast(IEnumerable[T] collection, int index, int length)

Parameters

collection IEnumerable[T]
index int
length int

Returns

TCertain

GetAfterLast(TCertain)

public virtual TCertain GetAfterLast(TCertain collection)

Parameters

collection TCertain

Returns

TCertain

GetAfterLast(TCertain, int)

public virtual TCertain GetAfterLast(TCertain collection, int index)

Parameters

collection TCertain
index int

Returns

TCertain

GetAfterLast(TCertain, int, int)

public virtual TCertain GetAfterLast(TCertain collection, int index, int length)

Parameters

collection TCertain
index int
length int

Returns

TCertain

GetBefore(IEnumerable[T])

public virtual TCertain GetBefore(IEnumerable[T] collection)

Parameters

collection IEnumerable[T]

Returns

TCertain

GetBefore(IEnumerable[T], int)

public virtual TCertain GetBefore(IEnumerable[T] collection, int index)

Parameters

collection IEnumerable[T]
index int

Returns

TCertain

GetBefore(IEnumerable[T], int, int)

public virtual TCertain GetBefore(IEnumerable[T] collection, int index, int length)

Parameters

collection IEnumerable[T]
index int
length int

Returns

TCertain

GetBefore(TCertain)

public virtual TCertain GetBefore(TCertain collection)

Parameters

collection TCertain

Returns

TCertain

GetBefore(TCertain, int)

public virtual TCertain GetBefore(TCertain collection, int index)

Parameters

collection TCertain
index int

Returns

TCertain

GetBefore(TCertain, int, int)

public virtual TCertain GetBefore(TCertain collection, int index, int length)

Parameters

collection TCertain
index int
length int

Returns

TCertain

GetBeforeLast(IEnumerable[T])

public virtual TCertain GetBeforeLast(IEnumerable[T] collection)

Parameters

collection IEnumerable[T]

Returns

TCertain

GetBeforeLast(IEnumerable[T], int)

public virtual TCertain GetBeforeLast(IEnumerable[T] collection, int index)

Parameters

collection IEnumerable[T]
index int

Returns

TCertain

GetBeforeLast(IEnumerable[T], int, int)

public virtual TCertain GetBeforeLast(IEnumerable[T] collection, int index, int length)

Parameters

collection IEnumerable[T]
index int
length int

Returns

TCertain

GetBeforeLast(TCertain)

public virtual TCertain GetBeforeLast(TCertain collection)

Parameters

collection TCertain

Returns

TCertain

GetBeforeLast(TCertain, int)

public virtual TCertain GetBeforeLast(TCertain collection, int index)

Parameters

collection TCertain
index int

Returns

TCertain

GetBeforeLast(TCertain, int, int)

public virtual TCertain GetBeforeLast(TCertain collection, int index, int length)

Parameters

collection TCertain
index int
length int

Returns

TCertain

GetRange(int, bool)

Возвращает неглубокую копию диапазона данной коллекции от указанного индекса и до конца (см. также alwaysCopy).
public virtual TCertain GetRange(int index, bool alwaysCopy = false)

Parameters

index int
Индекс начала диапазона.
alwaysCopy bool
Флаг, заставляющий метод принудительно возвращать копию диапазона (в некоторых производных коллекциях ничего не делает, в других, если он равен false, есть возможность вернуть только ссылку.

Returns

TCertain
A shallow copy of a range of elements in the source collection.

GetRange(int, int, bool)

Возвращает неглубокую копию диапазона данной коллекции (см. также alwaysCopy).
public virtual TCertain GetRange(int index, int length, bool alwaysCopy = false)

Parameters

index int
Индекс начала диапазона.
length int
Длина диапазона.
alwaysCopy bool
Флаг, заставляющий метод принудительно возвращать копию диапазона (в некоторых производных коллекциях ничего не делает, в других, если он равен false, есть возможность вернуть только ссылку.

Returns

TCertain

GetRange(Range, bool)

public virtual TCertain GetRange(Range range, bool alwaysCopy = false)

Parameters

range Range
Диапазон в виде структуры Range.
alwaysCopy bool
Флаг, заставляющий метод принудительно возвращать копию диапазона (в некоторых производных коллекциях ничего не делает, в других, если он равен false, есть возможность вернуть только ссылку.

Returns

TCertain
A shallow copy of a range of elements in the source collection.

IndexOf(TCertain)

Ищет в данной коллекции указанную последовательность элементов (с помощью алгоритма Бойера-Мура - подробнее здесь).
public virtual int IndexOf(TCertain collection)

Parameters

collection TCertain
Последовательность для поиска в коллекции, для которой данный метод вызывается.

Returns

int
Индекс начала первого вхождения collection, или -1, если последовательность не была найдена.

IndexOf(TCertain, IEqualityComparer[T])

Ищет в данной коллекции указанную последовательность элементов, используя пользовательский компаратор равенства (с помощью алгоритма Бойера-Мура - подробнее здесь).
public virtual int IndexOf(TCertain collection, IEqualityComparer[T] comparer)

Parameters

collection TCertain
Последовательность для поиска в коллекции, для которой данный метод вызывается.
comparer IEqualityComparer[T]
Компаратор на равенство, содержащий методы Equals() и GetHashCode(), (подробнее см. в описании интерфейса IEqualityComparer[T]).

Returns

int
Индекс начала первого вхождения collection, или -1, если последовательность не была найдена.

IndexOf(TCertain, int)

Ищет в диапазоне данной коллекции от указанного индекса и до конца указанную последовательность элементов (с помощью алгоритма Бойера-Мура - подробнее здесь).
public virtual int IndexOf(TCertain collection, int index)

Parameters

collection TCertain
Последовательность для поиска в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.

Returns

int
Индекс начала первого вхождения collection, или -1, если последовательность не была найдена.

IndexOf(TCertain, int, IEqualityComparer[T])

Ищет в диапазоне данной коллекции от указанного индекса и до конца указанную последовательность элементов, используя пользовательский компаратор равенства (с помощью алгоритма Бойера-Мура - подробнее здесь).
public virtual int IndexOf(TCertain collection, int index, IEqualityComparer[T] comparer)

Parameters

collection TCertain
Последовательность для поиска в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.
comparer IEqualityComparer[T]
Компаратор на равенство, содержащий методы Equals() и GetHashCode(), (подробнее см. в описании интерфейса IEqualityComparer[T]).

Returns

int
Индекс начала первого вхождения collection, или -1, если последовательность не была найдена.

IndexOf(TCertain, int, int)

Ищет в диапазоне данной коллекции указанную последовательность элементов (с помощью алгоритма Бойера-Мура - подробнее здесь).
public virtual int IndexOf(TCertain collection, int index, int length)

Parameters

collection TCertain
Последовательность для поиска в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.
length int
Длина диапазона

Returns

int
Индекс начала первого вхождения collection, или -1, если последовательность не была найдена.

IndexOf(TCertain, int, int, IEqualityComparer[T])

Ищет в диапазоне данной коллекции указанную последовательность элементов, используя пользовательский компаратор равенства (с помощью алгоритма Бойера-Мура - подробнее здесь).
public virtual int IndexOf(TCertain collection, int index, int length, IEqualityComparer[T] comparer)

Parameters

collection TCertain
Последовательность для поиска в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.
length int
Длина диапазона
comparer IEqualityComparer[T]
Компаратор на равенство, содержащий методы Equals() и GetHashCode(), (подробнее см. в описании интерфейса IEqualityComparer[T]).

Returns

int
Индекс начала первого вхождения collection, или -1, если последовательность не была найдена.

IndexOf(TCertain, int, int, IEqualityComparer[T], out int)

Ищет в диапазоне данной коллекции указанную последовательность элементов, используя пользовательский компаратор равенства (с помощью алгоритма Бойера-Мура - подробнее здесь) и возвращает в виде out-параметра длину этой указанной последовательности, чтобы не считать ее лишний раз (на случай, если последовательность не наследуется от интерфейсов, позволяющих легко получить длину).
public virtual int IndexOf(TCertain collection, int index, int length, IEqualityComparer[T] comparer, out int collectionLength)

Parameters

collection TCertain
Последовательность для поиска в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.
length int
Длина диапазона
comparer IEqualityComparer[T]
Компаратор на равенство, содержащий методы Equals() и GetHashCode(), (подробнее см. в описании интерфейса IEqualityComparer[T]).
collectionLength int
Посчитанная длина collection.

Returns

int
Индекс начала первого вхождения collection, или -1, если последовательность не была найдена.

IndexOf(TCertain, int, int, out int)

Ищет в диапазоне данной коллекции указанную последовательность элементов (с помощью алгоритма Бойера-Мура - подробнее здесь) и возвращает в виде out-параметра длину этой указанной последовательности, чтобы не считать ее лишний раз (на случай, если последовательность не наследуется от интерфейсов, позволяющих легко получить длину).
public virtual int IndexOf(TCertain collection, int index, int length, out int collectionLength)

Parameters

collection TCertain
Последовательность для поиска в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.
length int
Длина диапазона
collectionLength int
Посчитанная длина collection.

Returns

int
Индекс начала первого вхождения collection, или -1, если последовательность не была найдена.

IndexOfAny(TCertain)

public virtual int IndexOfAny(TCertain collection)

Parameters

collection TCertain
Коллекция элементов для поиска любого из них в коллекции, для которой данный метод вызывается.

Returns

int
Индекс первого вхождения какого-либо из элементов, или -1, если такой элемент не был найден.

IndexOfAny(TCertain, int)

public virtual int IndexOfAny(TCertain collection, int index)

Parameters

collection TCertain
Коллекция элементов для поиска любого из них в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.

Returns

int
Индекс первого вхождения какого-либо из элементов, или -1, если такой элемент не был найден.

IndexOfAny(TCertain, int, int)

public virtual int IndexOfAny(TCertain collection, int index, int length)

Parameters

collection TCertain
Коллекция элементов для поиска любого из них в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.
length int
Длина диапазона

Returns

int
Индекс первого вхождения какого-либо из элементов, или -1, если такой элемент не был найден.

IndexOfAnyExcluding(TCertain)

public virtual int IndexOfAnyExcluding(TCertain collection)

Parameters

collection TCertain
Коллекция элементов для поиска любого, кроме них, в коллекции, для которой данный метод вызывается.

Returns

int
Индекс первого вхождения какого-либо из отличающихся элементов, или -1, если такой элемент не был найден.

IndexOfAnyExcluding(TCertain, int)

public virtual int IndexOfAnyExcluding(TCertain collection, int index)

Parameters

collection TCertain
Коллекция элементов для поиска любого, кроме них, в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.

Returns

int
Индекс первого вхождения какого-либо из отличающихся элементов, или -1, если такой элемент не был найден.

IndexOfAnyExcluding(TCertain, int, int)

public virtual int IndexOfAnyExcluding(TCertain collection, int index, int length)

Parameters

collection TCertain
Коллекция элементов для поиска любого, кроме них, в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.
length int
Длина диапазона

Returns

int
Индекс первого вхождения какого-либо из отличающихся элементов, или -1, если такой элемент не был найден.

LastIndexOf(TCertain)

Ищет с конца в данной коллекции указанную последовательность элементов (к сожалению, пока что "наивным" способом, алгоритм Бойера-Мура с конца пока не реализован).
public virtual int LastIndexOf(TCertain collection)

Parameters

collection TCertain
Последовательность для поиска в коллекции, для которой данный метод вызывается.

Returns

int
Индекс начала последнего вхождения collection, или -1, если последовательность не была найдена.

LastIndexOf(TCertain, int)

Ищет с конца в диапазоне данной коллекции от указанного индекса и до конца указанную последовательность элементов (к сожалению, пока что "наивным" способом, алгоритм Бойера-Мура с конца пока не реализован).
public virtual int LastIndexOf(TCertain collection, int index)

Parameters

collection TCertain
Последовательность для поиска в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.

Returns

int
Индекс начала последнего вхождения collection, или -1, если последовательность не была найдена.

LastIndexOf(TCertain, int, int)

Ищет с конца в диапазоне данной коллекции указанную последовательность элементов (к сожалению, пока что "наивным" способом, алгоритм Бойера-Мура с конца пока не реализован).
public virtual int LastIndexOf(TCertain collection, int index, int length)

Parameters

collection TCertain
Последовательность для поиска в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.
length int
Длина диапазона

Returns

int
Индекс начала последнего вхождения collection, или -1, если последовательность не была найдена.

LastIndexOf(TCertain, int, int, out int)

Ищет с конца в диапазоне данной коллекции указанную последовательность элементов, (к сожалению, пока что "наивным" способом, алгоритм Бойера-Мура с конца пока не реализован) и возвращает в виде out-параметра длину этой указанной последовательности, чтобы не считать ее лишний раз (на случай, если последовательность не наследуется от интерфейсов, позволяющих легко получить длину).
public virtual int LastIndexOf(TCertain collection, int index, int length, out int collectionLength)

Parameters

collection TCertain
Последовательность для поиска в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.
length int
Длина диапазона
collectionLength int
Посчитанная длина collection.

Returns

int
Индекс начала последнего вхождения collection, или -1, если последовательность не была найдена.

LastIndexOfAny(TCertain)

public virtual int LastIndexOfAny(TCertain collection)

Parameters

collection TCertain
Коллекция элементов для поиска любого из них в коллекции, для которой данный метод вызывается.

Returns

int
Индекс последнего вхождения какого-либо из элементов, или -1, если такой элемент не был найден.

LastIndexOfAny(TCertain, int)

public virtual int LastIndexOfAny(TCertain collection, int index)

Parameters

collection TCertain
Коллекция элементов для поиска любого из них в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.

Returns

int
Индекс последнего вхождения какого-либо из элементов, или -1, если такой элемент не был найден.

LastIndexOfAny(TCertain, int, int)

public virtual int LastIndexOfAny(TCertain collection, int index, int length)

Parameters

collection TCertain
Коллекция элементов для поиска любого из них в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.
length int
Длина диапазона

Returns

int
Индекс последнего вхождения какого-либо из элементов, или -1, если такой элемент не был найден.

LastIndexOfAnyExcluding(TCertain)

public virtual int LastIndexOfAnyExcluding(TCertain collection)

Parameters

collection TCertain
Коллекция элементов для поиска любого, кроме них, в коллекции, для которой данный метод вызывается.

Returns

int
Индекс последнего вхождения какого-либо из отличающихся элементов, или -1, если такой элемент не был найден.

LastIndexOfAnyExcluding(TCertain, int)

public virtual int LastIndexOfAnyExcluding(TCertain collection, int index)

Parameters

collection TCertain
Коллекция элементов для поиска любого, кроме них, в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.

Returns

int
Индекс последнего вхождения какого-либо из отличающихся элементов, или -1, если такой элемент не был найден.

LastIndexOfAnyExcluding(TCertain, int, int)

public virtual int LastIndexOfAnyExcluding(TCertain collection, int index, int length)

Parameters

collection TCertain
Коллекция элементов для поиска любого, кроме них, в коллекции, для которой данный метод вызывается.
index int
Индекс начала диапазона.
length int
Длина диапазона

Returns

int
Индекс последнего вхождения какого-либо из отличающихся элементов, или -1, если такой элемент не был найден.

StartsWith(TCertain)

public virtual bool StartsWith(TCertain collection)

Parameters

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

Returns

bool
Булева константа (true или false).