Verem (stack)
A verem egy olyan adatszerkezet, amelyben az utoljára betett elemet tudjuk feldolgozni. LIFO (Last In First Out). A veremből mindig a legfelső elemet látjuk csak, amelyet a veremmutatóval jelzünk. Ahhoz, hogy az alsóhoz hozzáférjünk, ki kell szedni a felette lévő elemeket. 

Két fontos műveletet különböztetünk meg. Az egyik az adott elem verembe helyezése Push, a másik pedig a legfelső elem kivéve a veremből Pop.

A Stack<t> osztály fontosabb tulajdnságai és metódusai:
Stack (int capacity)
Paraméteres konstruktor. A paraméter a kiindulásként tárolni kívánt elemek számát adja meg.

Stack(IEnumerable<T> collection)
Paraméteres konstruktor. A verem elemei a paraméterként megadott IEnumerable felületet implementáló oszály elemei lesznek.

T Peek()
Visszaadja a verem tetején lévő elemet anélkül, hogy azt kivenné a veremből.

T Pop()
Visszaadja a verem tetején lévő elemet és az elemet eltávolítja a veremből.

void Push(T item)
A paraméterként megadott elemet beilleszti a verem tetejére.

T[] ToArray()
A verem elemeit visszaadja egy tömbben.

void TrimExcess()
Átméretezi a vermet úgy, hogy csak annyi elemnek foglaljon helyet, mint amennyi ténylegese használva van.