Memik YANIK'ın Günlüğü

27/5/2009 - Zirveye Çıkaran Programcılık Teknikleri : 2

Kategori: CSharp

Bir süre önce sizlere birkaç programcılık tekniğinden söz etmiştim. Bu yazıda ise sizleri programcılıkta zirveye çıkarması garantili bu tekniklere kaldığımız yerden devam ediyoruz. Hiç kaygınız olmasın zirve yolunda 1 numaralı yardımcınız olacak bu tekniklerin devamı gelecektir.

Hakiki Dizi Değişken İşlemleri – Zirveye Çıkmak İsteyenler İçin

C# uzmanı olduklarını ileri süren yerli yabancı bütün C# bilmezler ListBox nesnesinin elemanlarının dizi değişkenlere nasıl aktarıldığı konusunda sizleri kandırıyorlar. C# uzmanı olduklarını beyan edenler orada burada şöyle açıklamalar yapıyorlar: ListBox’ın Items koleksiyonu object tipinde bilgi içermektedir. Bu durumda ListBox’ın içeriğinin aktarılması gereken dizi değişkenin tipinin object olması gerekmektedir.

Tabi bu C# uzmanı diye ortaya çıkanlar dizi değişkenlerin nasıl tanımlandığını yanlış bildikleri için sizleri de yanıltıyorlar. Bu konuda yanlış bildiklerinizi düzeltmek için adım adım bilgi vereceğim. Bu amaçla forma bir ListBox yerleştirip birkaç futbol takımının adını aktardım. Sizler mütevazı olmak niyetine Süper Lig takımları yerine 2. lig takımlarının adlarını tercih edebilirsiniz.



Şimdi sırada bu ListBox’ın içeriğini dizi değişkene aktarmak var. Bu işlemi yaparken yararlanmak üzere forma bir buton yerleştirdim. Ardından aşağıdaki gibi bir event hazırladım. Bazı C#’ı bilmeyenler burada hazırlanan event değildir diyeceklerdir ama onlara kulak asmayın. Bu eventta bir dizi değişken tanımladım. 

privatevoid
button1_Click(object sender, EventArgs e)
 {
  ArrayList hakiki_dizi_degisken = new ArrayList();
}

Sonra bu eventa ekleme yapıp ListBox’taki bütün takımların adını dizi değişkene aktardım. Bununlada yetinmedim yazdığım kodun garanti çalıştığını kanıtlamak için dizi değişkenin ikinci elemanını formun başlığına yazdım. Tabi burada işi asıl yapan AddRange adlı ArrayList Class Fonksiyonu’dur.

privatevoid
button1_Click(object sender, EventArgs e)

 {
    ArrayList hakiki_dizi_degisken = new ArrayList();
    hakiki_dizi_degisken.AddRange(listBox1.Items);
    this.Text = hakiki_dizi_degisken[1].ToString();   
 }

Burada ArrayList Class fonksiyonu görevini hakkıyla yapmaktadır. İsterseniz bu kodu aşağıdaki gibi yazıp C# uzmanı diye ortalıkta gezinenlerin bir yanlışını daha ortaya koyabilirsiniz.

 

privatevoid button1_Click(object sender, EventArgs e)
 {
   string[] sahte_dizi = new string[] { "fener", "galata", "beşiktaş" };
   ArrayList hakiki_dizi_degisken = new ArrayList(); // dizi değişken tanımlandı
   hakiki_dizi_degisken.AddRange(sahte_dizi);
   this.Text = hakiki_dizi_degisken[1].ToString();   
  }

 

Uydurma Dizi Değişken İşlemleri – Çukura İnmek İsteyenler İçin

 

C# ve diğer birçok programlama dillerinde dizi değişkenler mevcut tiplerden yararlanılarak tanımlanır. Örneğin C#’ta string bilgileri saklamak üzere 5 elemanlı bir dizi değişken tanımlamak istiyorsanız aşağıdaki gibi bir kod satırı yazmanız yeterlidir.

privatevoid
button1_Click(object sender, EventArgs e)

 {

    string[] hayirsiz_dizi = new string[5];   

 }


Bu şekilde tanımlanan dizi değişkenin elemanlarına string bilgileri aşağıdaki gibi aktarabilirsiniz. Dizi değişkenlere bilgi aktarılırken indeksleyiciden yararlanılmaktadır. Bildiğiniz gibi C#'ta indeksleyici olarak köşeli parantezler kullanılmaktadır.


privatevoid
button1_Click(object sender, EventArgs e)

  {
    string[] hayirsiz_dizi = new string[5];

    hayirsiz_dizi[0] = "Fenerbahçe";

    hayirsiz_dizi[1] = "Tranzonspor";

  }


Sizleri programcılığın zirvesine çıkarma iddiasındaki başka kaynaklarda ArrayList adlı koleksiyon sınıfının örneğini almaktan dizi değişken tanımlama diye söz edilse bile kulak asmayınız. Aşağıda verilen metottaki tek satırda ArrayList nesnesi hazırlanmaktadır.


privatevoid
button1_Click(object sender, EventArgs e)
 {
   ArrayList hakiki_liste = new ArrayList();
 }

Gerçekte bir koleksiyon sınıfı olan ArrayList sınıfının Items adlı koleksiyonun elemanları Object tipindedir. .NET Framework ile gelen koleksiyon sınıflarının bazılarına eleman ekleme işleminin Add() metodu ile yapıldığını tahmin edebilirsiniz.

privatevoid
button1_Click(object sender, EventArgs e)
  {
    ArrayList hakiki_liste = new ArrayList();
    hakiki_liste.Add("Fenerbahçe");
    hakiki_liste.Add("1907");
    hakiki_liste.Add("Cemil Turan");
 }

Dizi değişkenler ile ArrayList adlı koleksiyon sınıfını birbirine karıştırıp sonra da Türkiye’nin en iyi C# kitabını yazıp okurlarını zirveye çıkaranları bu başarılarından dolayı taktir etmek gerekir. ArrayList nesnesine mevcut bir dizi değişkeni veya koleksiyon nesnesini bir seferde aktarmak istiyorsanız AddRange() metodunu kullanabilirsiniz. Bu metodun nasıl kullanıldığını anlatmak için önce object tipinde bir dizi değişken tanımladım. Ardından bu dizi değişkenin bütün elemanlarını AddRange() metodu ile ArrayList nesnesine aktardım. 

privatevoid
button1_Click(object sender, EventArgs e)

  {

     object[] dizi_dizi = new object[] { "Fenerbahçe", 1907, "Aziz Yıldırım" };

     ArrayList hakiki_liste = new ArrayList();

     hakiki_liste.AddRange(dizi_dizi) ;

  }

EkleBunu Sosyal Paylaşım Butonu
Yorum yaz!

<- Son SayfaSonraki Sayfa ->

Hakkımda

Bu blog'da bilgisayar ve programcılık üzerine yazdıklarımın arka planını bulacaksınız

Kategoriler

  • ASP.NET
  • CSharp
  • Delphi
  • Guncel Yazilar
  • Programcilik
  • Visual Basic
  • Arkadaşlarım

    sewimsizce