newNode);
public LinkedListNode AddBefore(LinkedListNode node, T value);
Аналогичные методы существуют и для удаления элементов списка:
public void RemoveFirst();
public void RemoveLast();
public bool Remove(T value);
public void Remove(LinkedListNode node);
Класс LinkedList содержит свойства для числа элементов, для указания на первый и последний элемент. Имеются методы для поиска элементов.
Ниже приведён пример использования LinkedList.
var tune = new LinkedList();
tune.AddFirst("do"); // do
tune.AddLast("so"); // do - so
tune.AddAfter(tune.First, "re"); // do - re- so
tune.AddAfter(tune.First.Next, "mi"); // do - re - mi- so
tune.AddBefore(tune.Last, "fa"); // do - re - mi - fa- so
tune.RemoveFirst(); // re - mi - fa - so
tune.RemoveLast(); // re - mi - fa
var miNode = tune.Find("mi");
tune.Remove(miNode); // re - fa
tune.AddFirst(miNode); // mi - re - fa
Классы Queue и Stack реализуют структуры данных «очередь» и «стек» на основе массива1. Конструкторы данных классов, как и конструкторы класса List, позволяют создать объект на основе другой коллекции, а также указать значение для ёмкости (но ёмкость не доступна в виде отдельного свойства). Элементы классов вполне предсказуемы и описаны в табл. 9 и табл. 10.
Таблица 9
Элементы класса Queue
Элемент
|
Описание
|
Clear()
|
Очистка очереди удаление всех элементов
|
Contains()
|
Проверка, содержится ли указанный элемент в очереди
|
CopyTo()
|
Копирование очереди в массив
|
Count
|
Количество элементов (свойство только для чтения)
|
Dequeue()
|
Извлечение элемента из очереди
|
Enqueue()
|
Помещение элемента в очередь
|
GetEnumerator()
|
Получение перечислителя
|
Peek()
|
Чтение очередного элемента без его удаления из очереди
|
ToArray()
|
Преобразование очереди в массив
|
TrimExcess()
|
Усечение размера внутреннего массива до необходимой минимальной величины
|
Таблица 10
Элементы класса Stack
Элемент
|
Описание
|
Clear()
|
Очистка стека удаление всех элементов
|
Contains()
|
Проверка, содержится ли указанный элемент в стеке
|
CopyTo()
|
Копирование стека в массив
|
Count
|
Количество элементов (свойство только для чтения)
|
GetEnumerator()
|
Получение перечислителя
|
Peek()
|
Чтение очередного элемента без его удаления из стека
|
Pop()
|
Извлечение элемента из стека
|
Push()
|
Помещение элемента в стек
|
ToArray()
|
Преобразование стека в массив
|
TrimExcess()
|
Усечение размера внутреннего массива до необходимой минимальной величины
|