C# Generic Stack<T> Kullanımı
Stack<T> yapısı C#'ın generic collection yapılarından biridir. T ile belirttiğimiz tipte elemanlar tutar ve LIFO (Son giren ilk çıkar) mantığıyla elemanları dışarı çıkartır.
Push : Collection nesnemize yeni eleman ekler.
Pop : Collection'a son giren elemanı çekip bu elemanı collection'dan siler.
Peek : Collection'daki nesneyi silmeden son elemanı döndürür.
Şimdi örnek bir stack yapısı geliştirelim:
Çıktı:
Örnek Proje : GenericStackExample.rar
Push : Collection nesnemize yeni eleman ekler.
Pop : Collection'a son giren elemanı çekip bu elemanı collection'dan siler.
Peek : Collection'daki nesneyi silmeden son elemanı döndürür.
Şimdi örnek bir stack yapısı geliştirelim:
public class Person { public string Name { get; set; } public string Surname { get; set; } public int Age { get; set; } public override string ToString() { return Name + " " + Surname + " Age: " + Age; } } static void Main(string[] args) { Stack<Person> personStack = new Stack<Person>(); personStack.Push(new Person() { Name = "Ahmet", Surname = "Yilmaz", Age = 21 }); personStack.Push(new Person() { Name = "Safak", Surname = "Unel", Age = 26 }); personStack.Push(new Person() { Name = "Salih", Surname = "Sayar", Age = 42 }); //Peeked: son eleman silmeden stack'teki son elemana bakiliyor //Popped: son eleman cekilip siliniyor Console.WriteLine("Peeked : {0}", personStack.Peek()); Console.WriteLine("Popped : {0}", personStack.Pop()); Console.WriteLine("\nPeeked : {0}", personStack.Peek()); Console.WriteLine("Popped: {0}", personStack.Pop()); Console.WriteLine("\nPeeked : {0}", personStack.Peek()); Console.WriteLine("Popped: {0}", personStack.Pop()); try { // eger stack'imiz bosalttiktan sora Peek veya Pop // metodlarimizi cagirirsak hata aliriz Console.WriteLine("\nPeeked : {0}", personStack.Peek()); Console.WriteLine("Popped: {0}", personStack.Pop()); } catch (Exception e) { Console.WriteLine("\nError: {0}", e.Message); } Console.ReadLine(); } }
Çıktı:
Örnek Proje : GenericStackExample.rar
0 yorum :
Yorum Gönder