13 Haziran 2013 Perşembe

Queue Sınıfı (Veri Tutma Sınıfı) - Csharp




Queue sınıfı verileri tutmaya yarayan bir sınıftır. Yalnız burada ilk eklediğimiz veri  çağrılma esnasında ilk çıkar. Yani bunun İngilizcesi First in First Out olur. Burada veriler object olarak eklenir. Yalnız diğer koleksiyon sınıflarında olduğu gibi nesne ismi.Add metodu ile veriler eklenmez. Nesne ismi.Enqueue metodu ile veriler eklenir.
Bizler verilerimizi Dequeue metodu ile çağırırız. Bu metod ile veri çağırdığımızda ilk eklediğimiz veri getirilir yalnız sonrasında bu veri, veri kümesinden silinir. Birde, bu metod bize object’in kendisini döndürür.
Bizler sadece o veriyi çağırmak istiyorsak bu verinin veriler kümesinden silinmesini istemiyorsak Peek metodunu kullanıyoruz. Bu bize sadece veriyi getirir.
Örnek: Bir Queue sınıfından bir nesne oluşturuyoruz ve bu nesneye il isimleri atıyoruz. Sonra bu eklediğimiz verileri çağırıyoruz.

Çözümü: private void Form1_Load(object sender, EventArgs e)
        {

            Queue illerimiz = new Queue();
            illerimiz.Enqueue("adana");
            illerimiz.Enqueue("ankara");
            illerimiz.Enqueue("adıyaman");

            MessageBox.Show(illerimiz.Dequeue().ToString());
            MessageBox.Show(illerimiz.Dequeue().ToString());
            MessageBox.Show(illerimiz.Dequeue().ToString());
           
            //MessageBox.Show(illerimiz.Peek().ToString());




        }
Kodun Açıklaması:
            Queue illerimiz = new Queue();
            illerimiz.Enqueue("adana");
            illerimiz.Enqueue("ankara");
            illerimiz.Enqueue("adıyaman");

Öncelikle Queue sınıfını kullanarak illerimiz adında bir nesne türetiyoruz. Sonra buna veriler eklemek istiyoruz. Nesne_ismi.Enqueue metodunu kullanarak parantez içinde verilerimizi object olarak ekliyoruz.


            MessageBox.Show(illerimiz.Dequeue().ToString());
            MessageBox.Show(illerimiz.Dequeue().ToString());
            MessageBox.Show(illerimiz.Dequeue().ToString());

Verilerimizi çağırmak için Dequeue metodunu kullanıyoruz. Bu metod object döndüreceği için sonuna tostring metodu eklemek zorundayız. Mesaj kutusunda ilk veri “adana” olacaktır. Çünkü queue sınıfının özelliği ilk eklediğimiz veri çağrılırken ilk gelir mantığı var. Sonraki mesaj kutusunda ise “Ankara” gelir. Çünkü, çağrılan ilk veri çağrıldıktan sonra silinir sıra baştaki ikinci veriye gelir. 3.mesaj kutusunda ise “Adıyaman” ili gelir.

Ama ben sadece verinin gelmesini veri topluluğundan silinmesini istemiyorsam peek metodunu kullanıyorduk. Bunun kullanılması ise şöyle;
MessageBox.Show(illerimiz.Peek().ToString());

Bu bize sadece adana verisini getirir. Altına aynı kodu bir daha yazarsak yine adana verisini getirir. Sebep peek metodu ile çağrılan veri silinmez.

Hiç yorum yok :

Yorum Gönder

Google PageRank Checker Powered by  MyPagerank.Net