duyuruElektroArge.com'a Hoşgeldiniz. Üye Olmak İçin Tıklayın. duyuru





houseForum ana sayfa   iletişimİletişim   bilgiSSS  
kırmızı yeşil mavi
ekleKayıt  anahtarGiriş
evForum ana sayfa goE-Kütüphane goE-Ders goC#
 

  • Reklam

Ders 38 - Koleksiyonlar - Stack

C Dili Dersleri - Okan Bilke

Ders 38 - Koleksiyonlar - Stack

Mesajgönderen okanbilke » 10 Kas 2015 20:50

Yine dizi mantığıyla kullanılabilen bir sınıf türü. Eklenen elemanlar IEnumerator interface değişkeni sayesinde elde edilebilir. Aşağıda extra olan özellikleri işlenmektedir.
Push
Bu özellikle diziye eleman ekleyebilirsiniz. Aşağıda komut örneklendirilmektedir.
private void button1_Click(object sender, EventArgs e)
{
Stack Liste = new Stack();
Liste.Push("Okan Bilke");
Liste.Push("Göksu Bilke");

Object[] Dizi = Liste.ToArray(); // Diziye Aktar
this.Text = Dizi[0].ToString(); // Göksu Bilke yazar
}

Dikkat etmenizi istediğim husus, son eklenen eleman, dizinin ilk elemanı oluyor.

Pop
Dizinin ilk elemanını aşağıdaki şekilde de elde edebilirsiniz.
private void button1_Click(object sender, EventArgs e)
{
Stack Liste = new Stack();
Liste.Push("Okan Bilke");
Liste.Push("Göksu Bilke");

this.Text = (String)Liste.Pop(); // Göksu Bilke yazar
}

ToArray
Stack sınıf değişkenine ait değerleri "Object" tip bir dizi değişkene aktarmak için kullanılır. İki önceki örnekte komut izah edilmiştir.
Stack Nesnesinin IEnumerator Değişkeniyle Yazdırmak
Stack sınıf değişkenine ait tüm elemanları yazdırmak isterseniz aşağıdaki şekilde bir kodlama kullanabilirsiniz.
private void button1_Click(object sender, EventArgs e)
{
string deger = null;
Stack Liste = new Stack();
Liste.Push("Okan Bilke");
Liste.Push("Göksu Bilke");
IEnumerator DiziOku = Liste.GetEnumerator();
while(DiziOku.MoveNext())
{
deger = DiziOku.Current.ToString();
MessageBox.Show(deger);
}
}

Contains
Parametre ile belirtilen elemanın listede yer alıp almadığını belirleyen komuttur.
private void button1_Click(object sender, EventArgs e)
{
Stack Liste = new Stack();
Liste.Push("Okan Bilke");
Liste.Push("Göksu Bilke");
bool Durum;
Durum = Liste.Contains(textBox1.Text);
if (Durum)
{
MessageBox.Show("Kayıt Var");
}
else
{
MessageBox.Show("Kayıt Yok");
}
}

CopyTo
Bu komut sayesinde Array tipli bir değişkenin indis numarasından sonraki tüm elemanlarına "Stack" sınıf değişkeninin tüm elemanlarını aktarabilirsiniz.
private void button1_Click(object sender, EventArgs e)
{
Stack Liste = new Stack();
Liste.Push("Okan");
Liste.Push("Bilke");
Array Dizi;
Dizi = Array.CreateInstance(typeof(String), 5);
Dizi.SetValue("Göksu", 0);
Dizi.SetValue("Onur", 1);
Dizi.SetValue("Mustafa", 2);
Dizi.SetValue("Neriman", 3);
Dizi.SetValue("Ulaş", 4);
Liste.CopyTo(Dizi, 2);
this.Text = Dizi.GetValue(3).ToString(); // Okan
}

Cast
Stack içerisine eklediğiniz elemanları sizin istediğiniz bir tipte dönüştürmek için kullanılan komuttur. Aşağıdaki örnek uygulamada Stack içerisinde yer alan Object elemanlar string tipte dönüştürülerek elde edilmektedir.
private void button1_Click(object sender, EventArgs e)
{
Stack Liste = new Stack();
Liste.Push("Okan Bilke");
Liste.Push("Göksu Bilke");
//
string Deger;
IEnumerable<string> Al = Liste.Cast<string>(); // String olarak al
IEnumerator Oku = Al.GetEnumerator();
while(Oku.MoveNext())
{
Deger=Oku.Current.ToString();
MessageBox.Show(Deger);
}
}
okanbilke@gmail.com
Kullanıcı avatarı
okanbilke
Site Kurucusu
Site Kurucusu
 
Mesajlar: 720
Beğendiklerim: 0 mesaj
Beğenilenlerim: 0 mesaj
Kayıt: 15 Mar 2013 13:09
Konum: Ankara

Reklam

Dön C#

Kimler çevrimiçi

Bu forumu gezen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 1 misafir


  • Reklam
cron