Типы коллекций Stack
Класс System.Collections.Stack и универсальные классы System.Collections.Generic.Stack<T> и System.Collections.Concurrent.ConcurrentStack<T> являются классами коллекции "последним пришел — первым вышел", реализующими интерфейс ICollection. Класс System.Collections.Generic.Stack<T> и универсальный класс System.Collections.Concurrent.ConcurrentStack<T> также реализуют универсальный интерфейс ICollection<T>.
Стеки и очереди полезны, когда требуется временное хранилище для данных, то есть когда элемент может быть удален после того, как его значение было получено. Объект System.Collections.Queue следует использовать, если доступ к данным требуется осуществлять в том же порядке, в каком они хранятся в коллекции. Объект System.Collections.Generic.Stack<T> следует использовать, если требуется осуществлять доступ к данным в обратном порядке.
Типы System.Collections.Concurrent.ConcurrentStack<T> и System.Collections.Concurrent.ConcurrentQueue<T> следует использовать, если необходим параллельный доступ к коллекции из нескольких потоков.
Класс System.Collections.Generic.Stack<T> часто используется для сохранения состояния переменной при вызове других процедур.
Три основные операции, которые могут быть применены к объекту System.Collections.Generic.Stack<T> и его элементам:
метод Peek возвращает самый верхний элемент Stack<T>, но не удаляет его из Stack<T>.
Класс System.Collections.Concurrent.ConcurrentStack<T> предоставляет методы TryPop и TryPopRange, которые возвращают false (False в Visual Basic), если значение или значения не могут быть извлечены. Методы TryPopRange и PushRange эффективно помещают и извлекают несколько элементов за одну операцию.
См. также
Ссылки
System.Collections.Generic.Stack<T>
System.Collections.Generic.Queue<T>
System.Collections.Generic.ICollection<T>