Клас Stack
Призначення класу Stack — втілення cтруктури стека — лінійно упорядкованої структури (послідовності) даних, у яку можна вставити елемент з одного кінця або з якої можна вилучити елемент з того самого кінця. Інакше кажучи, для використання принципу: «Останній зайшов, перший вийшов» (англійською LIFO: Last In First Out)
Загальне уявлення про клас Stack можна отримати, переглянувши код програми та проаналізувавши її виведенням для стеку, в якому значення мають тип string.
У поданому далі описі:
-
T — тип значення елементів колекції;
-
у дужках () чи <> вказано тип параметра.
Основні операції-
Push — вставляє елемент у стек.
-
Pop — видає елемент зі стеку.
-
Peek — повертає елемент з верхньої частини стека без його видалення.
Приймає null як допустиме значення для типів посилань і дозволяє дублювати елементи.
Конструктори
-
Stack<T>() — ініціалізує порожній стек з початковою ємністю як усталено.
-
Stack<T>(IEnumerable<T>) — ініціалізує стек, який містить елементи, скопійовані з указаної колекції, і має ємність, достатню для розміщення всіх скопійованих елементів.
-
Stack<T>(Int32) — ініціалізує порожній стек, який має вказану початкову ємність або ємність як усталено, залежно від того, яке значення більше.
Властивості-
Count — кількість елементів.
Методи
-
Clear() — видаляє всі об'єкти колекції.
-
Contains(T) — визначає, чи входить елемент у колекцію.
-
CopyTo(T[], Int32) — копіює елементи колекції у наявний вказаний одновимірний масив Array, починаючи з вказаного значення індексу масиву.
-
EnsureCapacity(Int32) — забезпечує, щоб ємність цього стека була принаймні вказаною шляхом збільшення поточної ємності удвічі до досягнення прийнятного значення.
-
Equals(Object) — повертає true, якщо вказаний об'єкт дорівнює поточному. Інакше повертає false (успадковано від Object).
-
GetEnumerator() — повертає перечислювач, який перебирає елементи колекції.
-
GetHashCode() — хеш-функція як усталено (успадковано від Object).
-
GetType() — повертає об'єкт Type для поточного екземпляра (успадковано від Object).
-
MemberwiseClone() — створює неповну копію об'єкта (успадковано від Object).
-
Peek() — повертає об'єкт, що перебуває на початку стека, без видалення його.
-
Pop() — видаляє і повертає об'єкт, що знаходиться на початку стека.
-
Push(T) — додає елемент у стек.
-
ToArray() — копіює елементи колекції у новий масив.
-
ToString() — повертає рядок, утворений з поточного об'єкта (успадковано від Object).
-
TrimExcess() — встановлює ємність, що дорівнює фактичної кількості елементів, якщо ця кількість становить менше 90 відсотків поточної ємності.
-
TryPeek(T) — повертає значення, що вказує, чи є на початку черги об'єкт. Якщо такий є, копіює його параметр result. Не видаляє об'єкт з колекції.
-
TryPop(T) — повертає значення, яке вказує, що є у верхній частині стека, і якщо воно є, копіює його в параметр result та видаляє його зі стека.
Додаткові дані про явні втілення інтерфейсу, методи розширення потоко-безпечність подано на сторінці сайту learn.microsoft.com.