Class BaseList[T, TCertain]

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

Type Parameters

T
Тип элемента данной коллекции.
TCertain
См. описание TCertain в BaseIndexable[T, TCertain].

Inheritance

object
BaseIndexable[T]
BaseIndexable[T, TCertain]
BaseMutableIndexable[T, TCertain]

Implements

IReadOnlyList[T]
IReadOnlyList[T]
IReadOnlyCollection[T]
IReadOnlyCollection[T]
IDisposable
IEquatable<TCertain>
ICloneable
IList[T]
IList[T]
ICollection[T]
ICollection[T]
IEnumerable[T]
IList
IList
ICollection
ICollection
IEnumerable

Derived

BaseSet[T, TCertain]
BitList
List[T, TCertain]

Inherited Members

BaseMutableIndexable[T, TCertain].this[Index, bool]
BaseMutableIndexable[T, TCertain].ListChanged
BaseMutableIndexable[T, TCertain].Changed()
BaseMutableIndexable[T, TCertain].SetAll(T)
BaseMutableIndexable[T, TCertain].SetAll(T, Index)
BaseMutableIndexable[T, TCertain].SetAll(T, int)
BaseMutableIndexable[T, TCertain].SetAll(T, int, int)
BaseMutableIndexable[T, TCertain].SetAll(T, Range)
BaseIndexable[T, TCertain].this[Range, bool]
BaseIndexable[T, TCertain].Compare(int, TCertain, int)
BaseIndexable[T, TCertain].Compare(int, TCertain, int, int)
BaseIndexable[T, TCertain].Compare(TCertain)
BaseIndexable[T, TCertain].Compare(TCertain, int)
BaseIndexable[T, TCertain].Contains(TCertain)
BaseIndexable[T, TCertain].Contains(TCertain, int)
BaseIndexable[T, TCertain].Contains(TCertain, int, int)
BaseIndexable[T, TCertain].ContainsAny(TCertain)
BaseIndexable[T, TCertain].ContainsAny(TCertain, int)
BaseIndexable[T, TCertain].ContainsAny(TCertain, int, int)
BaseIndexable[T, TCertain].ContainsAnyExcluding(TCertain)
BaseIndexable[T, TCertain].ContainsAnyExcluding(TCertain, int)
BaseIndexable[T, TCertain].ContainsAnyExcluding(TCertain, int, int)
BaseIndexable[T, TCertain].EndsWith(TCertain)
BaseIndexable[T, TCertain].Equals(TCertain)
BaseIndexable[T, TCertain].Equals(TCertain, int, bool)
BaseIndexable[T, TCertain].ForEach(Action[T])
BaseIndexable[T, TCertain].ForEach(Action[T], int)
BaseIndexable[T, TCertain].ForEach(Action[T], int, int)
BaseIndexable[T, TCertain].ForEach(Action<T, int>)
BaseIndexable[T, TCertain].ForEach(Action<T, int>, int)
BaseIndexable[T, TCertain].ForEach(Action<T, int>, int, int)
BaseIndexable[T, TCertain].GetAfter(IEnumerable[T])
BaseIndexable[T, TCertain].GetAfter(IEnumerable[T], int)
BaseIndexable[T, TCertain].GetAfter(IEnumerable[T], int, int)
BaseIndexable[T, TCertain].GetAfter(TCertain)
BaseIndexable[T, TCertain].GetAfter(TCertain, int)
BaseIndexable[T, TCertain].GetAfter(TCertain, int, int)
BaseIndexable[T, TCertain].GetAfterLast(IEnumerable[T])
BaseIndexable[T, TCertain].GetAfterLast(IEnumerable[T], int)
BaseIndexable[T, TCertain].GetAfterLast(IEnumerable[T], int, int)
BaseIndexable[T, TCertain].GetAfterLast(TCertain)
BaseIndexable[T, TCertain].GetAfterLast(TCertain, int)
BaseIndexable[T, TCertain].GetAfterLast(TCertain, int, int)
BaseIndexable[T, TCertain].GetBefore(IEnumerable[T])
BaseIndexable[T, TCertain].GetBefore(IEnumerable[T], int)
BaseIndexable[T, TCertain].GetBefore(IEnumerable[T], int, int)
BaseIndexable[T, TCertain].GetBefore(TCertain)
BaseIndexable[T, TCertain].GetBefore(TCertain, int)
BaseIndexable[T, TCertain].GetBefore(TCertain, int, int)
BaseIndexable[T, TCertain].GetBeforeLast(IEnumerable[T])
BaseIndexable[T, TCertain].GetBeforeLast(IEnumerable[T], int)
BaseIndexable[T, TCertain].GetBeforeLast(IEnumerable[T], int, int)
BaseIndexable[T, TCertain].GetBeforeLast(TCertain)
BaseIndexable[T, TCertain].GetBeforeLast(TCertain, int)
BaseIndexable[T, TCertain].GetBeforeLast(TCertain, int, int)
BaseIndexable[T, TCertain].GetRange(int, bool)
BaseIndexable[T, TCertain].GetRange(int, int, bool)
BaseIndexable[T, TCertain].GetRange(Range, bool)
BaseIndexable[T, TCertain].IndexOf(TCertain)
BaseIndexable[T, TCertain].IndexOf(TCertain, int)
BaseIndexable[T, TCertain].IndexOf(TCertain, int, int)
BaseIndexable[T, TCertain].IndexOf(TCertain, int, int, out int)
BaseIndexable[T, TCertain].IndexOf(TCertain, IEqualityComparer[T])
BaseIndexable[T, TCertain].IndexOf(TCertain, int, IEqualityComparer[T])
BaseIndexable[T, TCertain].IndexOf(TCertain, int, int, IEqualityComparer[T])
BaseIndexable[T, TCertain].IndexOf(TCertain, int, int, IEqualityComparer[T], out int)
BaseIndexable[T, TCertain].IndexOfAny(TCertain)
BaseIndexable[T, TCertain].IndexOfAny(TCertain, int)
BaseIndexable[T, TCertain].IndexOfAny(TCertain, int, int)
BaseIndexable[T, TCertain].IndexOfAnyExcluding(TCertain)
BaseIndexable[T, TCertain].IndexOfAnyExcluding(TCertain, int)
BaseIndexable[T, TCertain].IndexOfAnyExcluding(TCertain, int, int)
BaseIndexable[T, TCertain].LastIndexOf(TCertain)
BaseIndexable[T, TCertain].LastIndexOf(TCertain, int)
BaseIndexable[T, TCertain].LastIndexOf(TCertain, int, int)
BaseIndexable[T, TCertain].LastIndexOf(TCertain, int, int, out int)
BaseIndexable[T, TCertain].LastIndexOfAny(TCertain)
BaseIndexable[T, TCertain].LastIndexOfAny(TCertain, int)
BaseIndexable[T, TCertain].LastIndexOfAny(TCertain, int, int)
BaseIndexable[T, TCertain].LastIndexOfAnyExcluding(TCertain)
BaseIndexable[T, TCertain].LastIndexOfAnyExcluding(TCertain, int)
BaseIndexable[T, TCertain].LastIndexOfAnyExcluding(TCertain, int, int)
BaseIndexable[T, TCertain].StartsWith(TCertain)
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].ForEach(Action[T])
BaseIndexable[T].ForEach(Action[T], int)
BaseIndexable[T].ForEach(Action[T], int, int)
BaseIndexable[T].ForEach(Action<T, int>)
BaseIndexable[T].ForEach(Action<T, int>, int)
BaseIndexable[T].ForEach(Action<T, int>, int, int)
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

Capacity

public abstract int Capacity { get; set; }

Property Value

int

Methods

Add(T)

public virtual TCertain Add(T item)

Parameters

item T
Элемент для добавления.

Returns

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

AddRange(List[T])

public virtual TCertain AddRange(List[T] list)

Parameters

list List[T]
Последовательность для добавления в виде списка.

Returns

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

AddRange(IEnumerable[T])

public virtual TCertain AddRange(IEnumerable[T] collection)

Parameters

collection IEnumerable[T]
Последовательность для добавления.

Returns

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

AddRange(ReadOnlySpan[T])

public virtual TCertain AddRange(ReadOnlySpan[T] span)

Parameters

span ReadOnlySpan[T]
Последовательность для добавления в виде структуры Span[T] или ReadOnlySpan[T].

Returns

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

AddRange(T[])

public virtual TCertain AddRange(T[] array)

Parameters

array T[]
Последовательность для добавления в виде массива.

Returns

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

AddSeries(Func<int, T>, int)

Добавляет в конец данной коллекции последовательность шаблонных элементов (см. Fill[T](Func<int, T>, int)).
public virtual TCertain AddSeries(Func<int, T> function, int length)

Parameters

function Func<int, T>
Шаблон (см. Fill[T](Func<int, T>, int)).
length int
Количество добавляемых элементов.

Returns

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

AddSeries(int, Func<int, T>)

Добавляет в конец данной коллекции последовательность шаблонных элементов (см. Fill[T](Func<int, T>, int)).
public virtual TCertain AddSeries(int length, Func<int, T> function)

Parameters

length int
Количество добавляемых элементов.
function Func<int, T>
Шаблон (см. Fill[T](Func<int, T>, int)).

Returns

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

AddSeries(T, int)

Добавляет в конец данной коллекции последовательность одинаковых элементов (подробнее см. Fill[T](T, int)).
public virtual TCertain AddSeries(T item, int length)

Parameters

item T
Элемент для добавления (см. Fill[T](T, int)).
length int
Количество добавляемых элементов.

Returns

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

BreakFilter(Func<T, bool>)

public virtual (TCertain, TCertain) BreakFilter(Func<T, bool> match)

Parameters

match Func<T, bool>

Returns

(TCertain, TCertain)

BreakFilter(Func<T, bool>, out TCertain)

public virtual TCertain BreakFilter(Func<T, bool> match, out TCertain result2)

Parameters

match Func<T, bool>
result2 TCertain

Returns

TCertain

BreakFilter(Func<T, int, bool>)

public virtual (TCertain, TCertain) BreakFilter(Func<T, int, bool> match)

Parameters

match Func<T, int, bool>

Returns

(TCertain, TCertain)

BreakFilter(Func<T, int, bool>, out TCertain)

public virtual TCertain BreakFilter(Func<T, int, bool> match, out TCertain result2)

Parameters

match Func<T, int, bool>
result2 TCertain

Returns

TCertain

BreakFilterInPlace(Func<T, bool>)

public virtual (TCertain, TCertain) BreakFilterInPlace(Func<T, bool> match)

Parameters

match Func<T, bool>

Returns

(TCertain, TCertain)

BreakFilterInPlace(Func<T, bool>, out TCertain)

public virtual TCertain BreakFilterInPlace(Func<T, bool> match, out TCertain result2)

Parameters

match Func<T, bool>
result2 TCertain

Returns

TCertain

BreakFilterInPlace(Func<T, int, bool>)

public virtual (TCertain, TCertain) BreakFilterInPlace(Func<T, int, bool> match)

Parameters

match Func<T, int, bool>

Returns

(TCertain, TCertain)

BreakFilterInPlace(Func<T, int, bool>, out TCertain)

public virtual TCertain BreakFilterInPlace(Func<T, int, bool> match, out TCertain result2)

Parameters

match Func<T, int, bool>
result2 TCertain

Returns

TCertain

Clear()

Опустошает данную коллекцию. Тем не менее, этот метод не освобождает занятую коллекцией память - для этого после данного метода вызовите также метод TrimExcess().
public virtual void Clear()

Clear(bool)

public virtual void Clear(bool deep)

Parameters

deep bool
Позволяет выполнить "глубокую" очистку - с принудительным заполнением занятой памяти нулями. Для множеств это обязательно, так как иначе останутся "маркеры" сортировки, хэшей или других конструкций, используемых множеством, отчего оно может сломаться, для остальных коллекций опционально.

Clear(int, int)

public virtual void Clear(int index, int length)

Parameters

index int
length int

Clone()

public virtual object Clone()

Returns

object
A new object that is a copy of this instance.

Concat(IEnumerable[T])

данной коллекции и указанной последовательности.
public virtual TCertain Concat(IEnumerable[T] collection)

Parameters

collection IEnumerable[T]
Последовательность для конкатенации с данной коллекцией.

Returns

TCertain
Созданная коллекция.

Copy()

Создает копию данной коллекции того же типа и возвращает ее (не глубокое копирование - подробнее см. здесь - да, там про Javascript, но что поделать, если это самый популярный язык программирования в мире, а для нашего языка еще никто не написал подобное объяснение, при этом представленное вполне рабочее).
public virtual TCertain Copy()

Returns

TCertain
Созданная копия.

CopyRangeTo(int, TCertain, int, int)

Копирует диапазон данной коллекции, начиная с sourceIndex и длиной length, в указанную в параметре destination коллекцию, начиная с destinationIndex. Ничего не возвращает.
public virtual void CopyRangeTo(int sourceIndex, TCertain destination, int destinationIndex, int length)

Parameters

sourceIndex int
Индекс начала исходного диапазона.
destination TCertain
Целевая коллекция.
destinationIndex int
Индекс начала диапазона в целевой коллекции.
length int
Длина копируемого диапазона.

EnsureCapacity(int)

protected virtual void EnsureCapacity(int min)

Parameters

min int

FillInPlace(Func<int, T>, int)

Заполняет данную коллекцию шаблонными элементами (см. Fill[T](Func<int, T>, int)).
public virtual TCertain FillInPlace(Func<int, T> function, int length)

Parameters

function Func<int, T>
Шаблон (см. Fill[T](Func<int, T>, int)).
length int
Желаемое количество элементов.

Returns

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

FillInPlace(int, Func<int, T>)

Заполняет данную коллекцию шаблонными элементами (см. Fill[T](Func<int, T>, int)).
public virtual TCertain FillInPlace(int length, Func<int, T> function)

Parameters

length int
Желаемое количество элементов.
function Func<int, T>
Шаблон (см. Fill[T](Func<int, T>, int)).

Returns

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

FillInPlace(T, int)

Заполняет данную коллекцию одинаковыми элементами (см. Fill[T](T, int)).
public virtual TCertain FillInPlace(T item, int length)

Parameters

item T
Элемент для добавления (см. Fill[T](T, int)).
length int
Желаемое количество элементов.

Returns

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

Filter(Func<T, bool>)

public virtual TCertain Filter(Func<T, bool> match)

Parameters

match Func<T, bool>

Returns

TCertain

Filter(Func<T, int, bool>)

public virtual TCertain Filter(Func<T, int, bool> match)

Parameters

match Func<T, int, bool>

Returns

TCertain

FilterInPlace(Func<T, bool>)

public virtual TCertain FilterInPlace(Func<T, bool> match)

Parameters

match Func<T, bool>

Returns

TCertain

FilterInPlace(Func<T, int, bool>)

public virtual TCertain FilterInPlace(Func<T, int, bool> match)

Parameters

match Func<T, int, bool>

Returns

TCertain

GetAndRemove(Index)

public virtual T GetAndRemove(Index index)

Parameters

index Index

Returns

T

GetBeforeSetAfter(IEnumerable[T])

public virtual TCertain GetBeforeSetAfter(IEnumerable[T] collection)

Parameters

collection IEnumerable[T]

Returns

TCertain

GetBeforeSetAfter(IEnumerable[T], int)

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

Parameters

collection IEnumerable[T]
index int

Returns

TCertain

GetBeforeSetAfter(IEnumerable[T], int, int)

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

Parameters

collection IEnumerable[T]
index int
length int

Returns

TCertain

GetBeforeSetAfter(TCertain)

public virtual TCertain GetBeforeSetAfter(TCertain list)

Parameters

list TCertain

Returns

TCertain

GetBeforeSetAfter(TCertain, int)

public virtual TCertain GetBeforeSetAfter(TCertain list, int index)

Parameters

list TCertain
index int

Returns

TCertain

GetBeforeSetAfter(TCertain, int, int)

public virtual TCertain GetBeforeSetAfter(TCertain list, int index, int length)

Parameters

list TCertain
index int
length int

Returns

TCertain

GetBeforeSetAfterLast(IEnumerable[T])

public virtual TCertain GetBeforeSetAfterLast(IEnumerable[T] collection)

Parameters

collection IEnumerable[T]

Returns

TCertain

GetBeforeSetAfterLast(IEnumerable[T], int)

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

Parameters

collection IEnumerable[T]
index int

Returns

TCertain

GetBeforeSetAfterLast(IEnumerable[T], int, int)

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

Parameters

collection IEnumerable[T]
index int
length int

Returns

TCertain

GetBeforeSetAfterLast(TCertain)

public virtual TCertain GetBeforeSetAfterLast(TCertain list)

Parameters

list TCertain

Returns

TCertain

GetBeforeSetAfterLast(TCertain, int)

public virtual TCertain GetBeforeSetAfterLast(TCertain list, int index)

Parameters

list TCertain
index int

Returns

TCertain

GetBeforeSetAfterLast(TCertain, int, int)

public virtual TCertain GetBeforeSetAfterLast(TCertain list, int index, int length)

Parameters

list TCertain
index int
length int

Returns

TCertain

Insert(Index, List[T])

Вставляет внутрь данной коллекции копию указанной последовательности, так что первый ее элемент оказывается под указанным индексом (все следующие элементы сдвигаются вправо).
public virtual TCertain Insert(Index index, List[T] list)

Parameters

index Index
Индекс, под которым оказывается первый элемент list, в виде структуры Index.
list List[T]
Последовательность для вставки в виде списка.

Returns

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

Insert(Index, IEnumerable[T])

Вставляет внутрь данной коллекции копию указанной последовательности, так что первый ее элемент оказывается под указанным индексом (все следующие элементы сдвигаются вправо).
public virtual TCertain Insert(Index index, IEnumerable[T] collection)

Parameters

index Index
Индекс, под которым оказывается первый элемент collection, в виде структуры Index.
collection IEnumerable[T]
Последовательность для вставки.

Returns

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

Insert(Index, ReadOnlySpan[T])

Вставляет внутрь данной коллекции копию указанной последовательности, так что первый ее элемент оказывается под указанным индексом (все следующие элементы сдвигаются вправо).
public virtual TCertain Insert(Index index, ReadOnlySpan[T] span)

Parameters

index Index
Индекс, под которым оказывается первый элемент span, в виде структуры Index.
span ReadOnlySpan[T]
Последовательность для вставки в виде структуры Span[T] или ReadOnlySpan[T].

Returns

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

Insert(Index, T)

Вставляет внутрь данной коллекции указанный элемент, так что он оказывается под указанным индексом (все следующие элементы сдвигаются вправо).
public virtual TCertain Insert(Index index, T item)

Parameters

index Index
Индекс, под которым оказывается элемент, в виде структуры Index.
item T
Элемент для вставки.

Returns

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

Insert(Index, T[])

Вставляет внутрь данной коллекции копию указанной последовательности, так что первый ее элемент оказывается под указанным индексом (все следующие элементы сдвигаются вправо).
public virtual TCertain Insert(Index index, T[] array)

Parameters

index Index
Индекс, под которым оказывается первый элемент array, в виде структуры Index.
array T[]
Последовательность для вставки в виде массива.

Returns

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

Insert(int, List[T])

Вставляет внутрь данной коллекции копию указанной последовательности, так что первый ее элемент оказывается под указанным индексом (все следующие элементы сдвигаются вправо).
public virtual TCertain Insert(int index, List[T] list)

Parameters

index int
Индекс, под которым оказывается первый элемент list.
list List[T]
Последовательность для вставки в виде списка.

Returns

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

Insert(int, IEnumerable[T])

Вставляет внутрь данной коллекции копию указанной последовательности, так что первый ее элемент оказывается под указанным индексом (все следующие элементы сдвигаются вправо).
public virtual TCertain Insert(int index, IEnumerable[T] collection)

Parameters

index int
Индекс, под которым оказывается первый элемент collection.
collection IEnumerable[T]
Последовательность для вставки.

Returns

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

Insert(int, ReadOnlySpan[T])

Вставляет внутрь данной коллекции копию указанной последовательности, так что первый ее элемент оказывается под указанным индексом (все следующие элементы сдвигаются вправо).
public virtual TCertain Insert(int index, ReadOnlySpan[T] span)

Parameters

index int
Индекс, под которым оказывается первый элемент span.
span ReadOnlySpan[T]
Последовательность для вставки в виде структуры Span[T] или ReadOnlySpan[T].

Returns

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

Insert(int, T)

Вставляет внутрь данной коллекции указанный элемент, так что он оказывается под указанным индексом (все следующие элементы сдвигаются вправо).
public virtual TCertain Insert(int index, T item)

Parameters

index int
Индекс, под которым оказывается элемент.
item T
Элемент для вставки.

Returns

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

Insert(int, T[])

Вставляет внутрь данной коллекции копию указанной последовательности, так что первый ее элемент оказывается под указанным индексом (все следующие элементы сдвигаются вправо).
public virtual TCertain Insert(int index, T[] array)

Parameters

index int
Индекс, под которым оказывается первый элемент array.
array T[]
Последовательность для вставки в виде массива.

Returns

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

Pad(int)

Дополняет длину данной коллекции до length, заполняя элементами "по умолчанию" (null, ноль и т. д.), поровну слева и справа (или на один больше справа, если дополняемая длина нечетная).
public virtual TCertain Pad(int length)

Parameters

length int
Желаемая длина коллекции.

Returns

TCertain
Дополненная копия коллекции. Этот метод НЕ изменяет данную коллекцию - для этого используйте PadInPlace(int).

Pad(int, T)

Дополняет длину данной коллекции до length, заполняя указанными элементами, поровну слева и справа (или на один больше справа, если дополняемая длина нечетная).
public virtual TCertain Pad(int length, T value)

Parameters

length int
Желаемая длина коллекции.
value T
Элемент для заполнения.

Returns

TCertain
Дополненная копия коллекции. Этот метод НЕ изменяет данную коллекцию - для этого используйте PadInPlace(int, T).

PadInPlace(int)

Дополняет длину данной коллекции до length, заполняя элементами "по умолчанию" (null, ноль и т. д.), поровну слева и справа (или на один больше справа, если дополняемая длина нечетная).
public virtual TCertain PadInPlace(int length)

Parameters

length int
Желаемая длина коллекции.

Returns

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

PadInPlace(int, T)

Дополняет длину данной коллекции до length, заполняя указанными элементами, поровну слева и справа (или на один больше справа, если дополняемая длина нечетная).
public virtual TCertain PadInPlace(int length, T value)

Parameters

length int
Желаемая длина коллекции.
value T
Элемент для заполнения.

Returns

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

PadLeft(int)

Дополняет длину данной коллекции до length, заполняя элементами "по умолчанию" (null, ноль и т. д.), добавляя их слева.
public virtual TCertain PadLeft(int length)

Parameters

length int
Желаемая длина коллекции.

Returns

TCertain
Дополненная копия коллекции. Этот метод НЕ изменяет данную коллекцию - для этого используйте PadInPlace(int).

PadLeft(int, T)

Дополняет длину данной коллекции до length, заполняя указанными элементами, добавляя их слева.
public virtual TCertain PadLeft(int length, T value)

Parameters

length int
Желаемая длина коллекции.
value T
Элемент для заполнения.

Returns

TCertain
Дополненная копия коллекции. Этот метод НЕ изменяет данную коллекцию - для этого используйте PadInPlace(int, T).

PadLeftInPlace(int)

Дополняет длину данной коллекции до length, заполняя элементами "по умолчанию" (null, ноль и т. д.), добавляя их слева.
public virtual TCertain PadLeftInPlace(int length)

Parameters

length int
Желаемая длина коллекции.

Returns

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

PadLeftInPlace(int, T)

Дополняет длину данной коллекции до length, заполняя указанными элементами, добавляя их слева.
public virtual TCertain PadLeftInPlace(int length, T value)

Parameters

length int
Желаемая длина коллекции.
value T
Элемент для заполнения.

Returns

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

PadRight(int)

Дополняет длину данной коллекции до length, заполняя элементами "по умолчанию" (null, ноль и т. д.), добавляя их справа.
public virtual TCertain PadRight(int length)

Parameters

length int
Желаемая длина коллекции.

Returns

TCertain
Дополненная копия коллекции. Этот метод НЕ изменяет данную коллекцию - для этого используйте PadInPlace(int).

PadRight(int, T)

Дополняет длину данной коллекции до length, заполняя указанными элементами, добавляя их справа.
public virtual TCertain PadRight(int length, T value)

Parameters

length int
Желаемая длина коллекции.
value T
Элемент для заполнения.

Returns

TCertain
Дополненная копия коллекции. Этот метод НЕ изменяет данную коллекцию - для этого используйте PadInPlace(int, T).

PadRightInPlace(int)

Дополняет длину данной коллекции до length, заполняя элементами "по умолчанию" (null, ноль и т. д.), добавляя их справа.
public virtual TCertain PadRightInPlace(int length)

Parameters

length int
Желаемая длина коллекции.

Returns

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

PadRightInPlace(int, T)

Дополняет длину данной коллекции до length, заполняя указанными элементами, добавляя их справа.
public virtual TCertain PadRightInPlace(int length, T value)

Parameters

length int
Желаемая длина коллекции.
value T
Элемент для заполнения.

Returns

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

Remove(Index)

[Obsolete("Этот метод был удален как имеющий неоднозначное название. Взамен необходимо использовать Remove() с указанием диапазона, RemoveAt(), RemoveEnd() или RemoveValue().", true)]
public virtual TCertain Remove(Index index)

Parameters

index Index

Returns

TCertain

Remove(int)

[Obsolete("Этот метод был удален как имеющий неоднозначное название. Взамен необходимо использовать Remove() с указанием диапазона, RemoveAt(), RemoveEnd() или RemoveValue().", true)]
public virtual TCertain Remove(int index)

Parameters

index int

Returns

TCertain

Remove(int, int)

public virtual TCertain Remove(int index, int length)

Parameters

index int
Индекс начала диапазона.
length int
Длина диапазона.

Returns

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

Remove(Range)

public virtual TCertain Remove(Range range)

Parameters

range Range
Удаляемый диапазон в виде структуры Range.

Returns

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

RemoveAll(Predicate[T])

public virtual int RemoveAll(Predicate[T] match)

Parameters

match Predicate[T]
Предикат, задающий критерии (подробнее см. в описании Predicate[T]).

Returns

int
Количество удаленных элементов (НЕ данная коллекция - для этого используйте FilterInPlace(Func<T, bool>) с противоположным условием).

RemoveAt(Index)

public virtual TCertain RemoveAt(Index index)

Parameters

index Index
Индекс удаляемого элемента в виде структуры Index.

Returns

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

RemoveAt(int)

public virtual TCertain RemoveAt(int index)

Parameters

index int
Индекс удаляемого элемента.

Returns

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

RemoveEnd(Index)

public virtual TCertain RemoveEnd(Index index)

Parameters

index Index
Индекс начала диапазона в виде структуры Index.

Returns

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

RemoveEnd(int)

public virtual TCertain RemoveEnd(int index)

Parameters

index int
Индекс начала диапазона.

Returns

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

RemoveValue(T)

Удаляет элемент из данной коллекции, сдвигая все следующие элементы влево. Этот метод принимает на вход ЗНАЧЕНИЕ элемента, а не индекс!
public virtual bool RemoveValue(T item)

Parameters

item T
Удаляемый элемент.

Returns

bool
true, если элемент был найден и успешно удален, иначе false (НЕ данная коллекция).

Repeat(int)

public virtual TCertain Repeat(int length)

Parameters

length int
Количество повторений.

Returns

TCertain
Созданная коллекция.

Replace(Dictionary<T, IEnumerable[T]>?)

public virtual TCertain Replace(Dictionary<T, IEnumerable[T]>? dic)

Parameters

dic Dictionary<T, IEnumerable[T]>

Returns

TCertain

Replace(Dictionary<T, T>?)

public virtual TCertain Replace(Dictionary<T, T>? dic)

Parameters

dic Dictionary<T, T>

Returns

TCertain

Replace(Dictionary[T, TCertain]?)

public virtual TCertain Replace(Dictionary[T, TCertain]? dic)

Parameters

dic Dictionary[T, TCertain]

Returns

TCertain

Replace(IEnumerable[T])

Заменяет содержимое данной коллекции на копию указанной последовательности (не глубокое копирование - подробнее см. здесь - да, там про Javascript, но что поделать, если это самый популярный язык программирования в мире, а для нашего языка еще никто не написал подобное объяснение, при этом представленное вполне рабочее).
public virtual TCertain Replace(IEnumerable[T] collection)

Parameters

collection IEnumerable[T]
Последовательность для копирования.

Returns

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

Replace(IEnumerable[T], IEnumerable[T])

public virtual TCertain Replace(IEnumerable[T] oldCollection, IEnumerable[T] newCollection)

Parameters

oldCollection IEnumerable[T]
Последовательность для поиска.
newCollection IEnumerable[T]
Последовательность для замены.

Returns

TCertain
Коллекция с замененными элементами (НЕ та, для которой данный метод вызывается).

Replace(ReadOnlySpan[T])

Заменяет содержимое данной коллекции на копию указанной последовательности (не глубокое копирование - подробнее см. здесь - да, там про Javascript, но что поделать, если это самый популярный язык программирования в мире, а для нашего языка еще никто не написал подобное объяснение, при этом представленное вполне рабочее).
public virtual TCertain Replace(ReadOnlySpan[T] span)

Parameters

span ReadOnlySpan[T]
Последовательность для копирования в виде структуры Span[T] или ReadOnlySpan[T].

Returns

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

Replace(T, T)

public virtual TCertain Replace(T oldItem, T newItem)

Parameters

oldItem T
Элемент для поиска.
newItem T
Элемент для замены.

Returns

TCertain
Коллекция с замененными элементами (НЕ та, для которой данный метод вызывается - для этого есть ReplaceInPlace(T, T)).

Replace(T[])

Заменяет содержимое данной коллекции на копию указанной последовательности (не глубокое копирование - подробнее см. здесь - да, там про Javascript, но что поделать, если это самый популярный язык программирования в мире, а для нашего языка еще никто не написал подобное объяснение, при этом представленное вполне рабочее).
public virtual TCertain Replace(T[] array)

Parameters

array T[]
Последовательность для копирования в виде массива.

Returns

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

Replace(TCertain, TCertain)

public virtual TCertain Replace(TCertain oldList, TCertain newList)

Parameters

oldList TCertain
newList TCertain

Returns

TCertain
Коллекция с замененными элементами (НЕ та, для которой данный метод вызывается).

ReplaceInPlace(Dictionary<T, IEnumerable[T]>?)

public virtual TCertain ReplaceInPlace(Dictionary<T, IEnumerable[T]>? dic)

Parameters

dic Dictionary<T, IEnumerable[T]>

Returns

TCertain

ReplaceInPlace(Dictionary<T, T>?)

public virtual TCertain ReplaceInPlace(Dictionary<T, T>? dic)

Parameters

dic Dictionary<T, T>

Returns

TCertain

ReplaceInPlace(Dictionary[T, TCertain]?)

public virtual TCertain ReplaceInPlace(Dictionary[T, TCertain]? dic)

Parameters

dic Dictionary[T, TCertain]

Returns

TCertain

ReplaceInPlace(IEnumerable[T], IEnumerable[T])

public virtual TCertain ReplaceInPlace(IEnumerable[T] oldCollection, IEnumerable[T] newCollection)

Parameters

oldCollection IEnumerable[T]
Последовательность для поиска.
newCollection IEnumerable[T]
Последовательность для замены.

Returns

TCertain
Данная коллекция (подробнее см. в описании TCertain в BaseIndexable[T, TCertain]) (по факту сначала создает новую коллекцию, в которой элементы заменены, а затем заменяет содержимое данной коллекции на нее).

ReplaceInPlace(T, T)

public virtual TCertain ReplaceInPlace(T oldItem, T newItem)

Parameters

oldItem T
Элемент для поиска.
newItem T
Элемент для замены.

Returns

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

ReplaceInPlace(TCertain, TCertain)

public virtual TCertain ReplaceInPlace(TCertain oldList, TCertain newList)

Parameters

oldList TCertain
newList TCertain

Returns

TCertain
Данная коллекция (подробнее см. в описании TCertain в BaseIndexable[T, TCertain]) (по факту сначала создает новую коллекцию, в которой элементы заменены, а затем заменяет содержимое данной коллекции на нее).

ReplaceRange(int, int, IEnumerable[T])

Заменяет диапазон данной коллекции на указанную последовательность, при необходимости сдвигая следующие элементы вправо или влево.
public virtual TCertain ReplaceRange(int index, int length, IEnumerable[T] collection)

Parameters

index int
Индекс начала диапазона.
length int
Длина диапазона.
collection IEnumerable[T]
Последовательность для замены.

Returns

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

ReplaceRange(int, int, TCertain)

Заменяет диапазон данной коллекции на указанную последовательность, при необходимости сдвигая следующие элементы вправо или влево.
public virtual TCertain ReplaceRange(int index, int length, TCertain list)

Parameters

index int
Индекс начала диапазона.
length int
Длина диапазона.
list TCertain

Returns

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

Resize(int)

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

Parameters

newSize int
Новый размер коллекции.

Returns

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

ResizeLeft(int)

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

Parameters

newSize int
Новый размер коллекции.

Returns

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

Reverse()

public virtual TCertain Reverse()

Returns

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

Reverse(int, int)

public virtual TCertain Reverse(int index, int length)

Parameters

index int
length int

Returns

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

SetOrAdd(int, T)

Устанавливает элемент по указанному индексу в указанное значение, если индекс меньше длины коллекции, или добавляет это значение в конец, если индекс равен длине коллекции. Выбрасывает исключение ArgumentOutOfRangeException, если индекс больше длины коллекции.
public virtual TCertain SetOrAdd(int index, T value)

Parameters

index int
Индекс для установки или добавления элемента.
value T
Элемент для установки или добавления.

Returns

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

SetRange(int, IEnumerable[T])

Заменяет диапазон данной коллекции, начиная с указанного индекса, на указанную последовательность, продолжая, пока в указанной последовательности есть элементы (этот метод НЕ сдвигает элементы вправо или влево). Этот метод может изменить длину данной коллекции только в сторону увеличения (или не изменить совсем, если в указанной последовательности меньше элементов).
public virtual TCertain SetRange(int index, IEnumerable[T] collection)

Parameters

index int
Индекс начала диапазона.
collection IEnumerable[T]
Последовательность для замены.

Returns

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

Shuffle()

public virtual TCertain Shuffle()

Returns

TCertain

Transpose(List<TCertain>, bool)

public static List<TCertain> Transpose(List<TCertain> list, bool widen = false)

Parameters

list List<TCertain>
widen bool

Returns

List<TCertain>

TrimExcess()

Уменьшает количество памяти, занимаемое данной коллекцией, до фактической длины (по факту потребление памяти сначала немного увеличивается, так как выделяется новая область для элементов (массив, указатель и т. д.), а только когда менеджер памяти в ОС "доберется" до старой области и освободит ее, потребление памяти уменьшится).
public virtual TCertain TrimExcess()

Returns

TCertain

Operators

implicit operator BaseList[T, TCertain](T)

public static implicit operator BaseList[T, TCertain](T x)

Parameters

x T
Единственный элемент для добавления в список.

Returns

BaseList[T, TCertain]