Stack, C# programlama dilinde kullanılan koleksiyon sınıflarından birisidir, Stack'i diğer koleksiyonlardan farklı kılan özelliği ise ilk giren elemanın son çıktığı bir koleksiyon sınıfı olmasıdır.
Stack koleksiyonlarını daha iyi anlamak için üst üste taşlar koyduğunuzu düşünün, sadece en üste taş koyabilirsiniz ve sadece en üstteki taşı alabilirsiniz. Ortadan ya da baştan taş alma ya da koyma şansınız bulunmuyor, dolayısıyla ilk giren son çıkıyor ve son giren de ilk çıkan oluyor (tam tersi için Queue koleksiyonlarına (bkz: C# Queue Nedir? Kullanımı ve Örnekleri) bakabilirsiniz). Web tarayıcısının geri butonunu da Stack olarak düşünebilirsiniz, geri tuşuna bastığınızda bir önceki sayfaya dönersiniz ve ilk sayfa en başta kalmıştır. Uygulamalardaki undo butonu da yine stack mantığında çalışır.
Stack sınıfının en sık kullanılan metodları ve işlevleri şunlardır:
Push(): Stack'e yeni bir eleman ekler (her zaman en üste ekler)
Pop(): Stack'ten bir eleman çıkartılır (yine her zaman en üstteki elemandan başlayarak)
Peek(): Stack'in en üstündeki elemanı getirir
Stack generic bir sınıf olduğu için (System.Collections.Generic namespace'indedir) bir stack içerisine sadece aynı türden elemanlar eklenebilir.
Stack <string> ogrenciler = new Stack<string>();
ogrenciler.Push("Ali");
ogrenciler.Push("Hakan");
ogrenciler.Push("Ayşe");
System.Console.WriteLine(ogrenciler.Peek()); //Ayşe
ogrenciler.Pop(); //Ayşe silindi
System.Console.WriteLine(ogrenciler.Peek()); //Hakan
Önceki bazı diğer benzer yazılarım için;
bkz: C# Dictionary Nedir? Kullanımı ve Örnekleri
bkz: C# Hashtable Kullanımı ve Örnekleri
bkz: C# ile params anahtar sözcüğü kullanımı ve örnekleri
bkz: C# ve Generic ile Non-Generic Koleksiyonlar Nelerdir?
bkz: C# Programlama Dilinde Koleksiyon Nedir?
bkz: Interface Nedir?