5.00 / 1 oy

C# Stack Nedir? Kullanımı ve Örnekleri

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?

mbologlu

12.05.2021 01:38

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
C# Stack Nedir? Kullanımı ve Örnekleri

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.