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]