C# Dersleri 11 - Diziler

     Diziler, benzer tipteki değişkenleri bir arada tutabilen bir değişkendir. Diziler bir referans tiptir. Skaler bir değişken aynı anda yalnızca bir data tutabilirken, diziler birden fazla data tutabilir. C# dilinde diziler indexi 0'dan başlar; yani ilk dizi elemanının indexi 0'dır. Bir string dizi tanımlayarak başlayalım :     

private void btnDevam_Click(object sender, EventArgs e)
{
    string[] isimler = {"Emre","Yahya","İlknur" };
}

     string keywordunun yanındaki "[]" parantezler, isimler değişkeninin bir string dizisi olduğunu belirtir. Daha sonra süslü parantezlerle isimler dizisine üç tane eleman ekliyoruz. Dizinin tipini string olarak belirttiğimiz için, elemanlarının da tipleri string olması gerekiyor. Bir dizinin herhangi bir elemanını almak için değişkenin adının yanına köşeli parantezler içinde o elemanın indexini yazmamız gerekiyor. Tekrar hatırlatayım, ilk elemanın indexi 1 değil 0.      

private void btnDevam_Click(object sender, EventArgs e)
{
    string[] isimler = {"Emre","Yahya","İlknur" };
    MessageBox.Show(isimler[0]);    //Emre
    MessageBox.Show(isimler[1]);    //Yahya
    MessageBox.Show(isimler[2]);    //İlknur
}

     Boş bir dizi tanımlamak için :     

private void btnDevam_Click(object sender, EventArgs e)
{
    string[] isimler = new string[5];
    isimler[3] = "Emre Yıldırım";
    MessageBox.Show(isimler[3]);    //Emre Yıldırım
}

     new keywordu, belirttiğimiz tipten yeni bir nesne oluşturmamızı sağlar. "string[5]" ise, isimler değişkeninin 5 elemanlı bir string dizisi olduğu anlamına gelir. Bir dizi oluştururken içine alabileceği eleman sayısını belirtmemiz gerekiyor. Bu şekilde o elemanlar için RAM'de alan rezerve ediyor. isimler[3] = "Emre Yıldırım"; kod cümlesi ile isimler dizisinin 3 indexli elemanına(yani 4. elemanına) değer atamış oluyoruz.

     Dizi elemanlarına hiç bir değer atamazsanız, C# dilinde default olarak, sayısal tiplerde 0, string tipinde boş string, bool tipinde false değer atar. Diziler, C# dilindeki herhangi bir tipte oluşturulabilir.     

private void btnDevam_Click(object sender, EventArgs e)
{
    int[] sayilar = { 3, 5, 2, 89, 12 };
    int result = sayilar[3] + sayilar[0];   //89 + 3
    MessageBox.Show(result.ToString()); //92
}

YORUMLAR
iceberat
Eylül 22, 2020 01:49
enes eğer listboxa yazdırcaksan form a listbox ekleyip butona çift tıkla ve şöyle yap: private void btnDevam_Click(object sender, EventArgs e) { int[] sayilar = { 3, 5, 2, 89, 12 }; int result = sayilar[3] + sayilar[0]; //89 + 3 listBox1.Items.Add(result); //92 } bu şekilde yaptığın zaman butona basıldığında çıkan sonuç listboxa yazılacak. Eğer diyelim ki bu sayıları değilde ilk örnekteki isimleri sıralı olarak yapmak istiyorsan da şöyle yapabilirsin : private void btnDevam_Click(object sender, EventArgs e) { string[] isimler = {"Emre","Yahya","İlknur" }; listBox1.Items.Add(isimler[0]); //Emre listBox1.Items.Add(isimler[1]); //Yahya listBox1.Items.Add(isimler[2]); //İlknur } bu şekilde yaptığın zamanda Emre, Yahya ve İlknur'un isimlerinin alt alta yazıldığını görebilirsin. (Az Önce Attığım Yazı Karışık Olmuş Tekrar Atim Dedim)
iceberat
Eylül 22, 2020 01:45
enes eğer listboxa yazdırcaksan form a listbox ekleyip butona çift tıkla ve şöyle yap: private void btnDevam_Click(object sender, EventArgs e) { int[] sayilar = { 3, 5, 2, 89, 12 }; int result = sayilar[3] + sayilar[0]; //89 + 3 listBox1.Items.Add(result); //92 } bu şekilde yaptığın zaman butona basıldığında çıkan sonuç listboxa yazılacak. Eğer diyelim ki bu sayıları değilde ilk örnekteki isimleri sıralı olarak yapmak istiyorsan da şöyle yapabilirsin : private void btnDevam_Click(object sender, EventArgs e) { string[] isimler = {"Emre","Yahya","İlknur" }; listBox1.Items.Add(isimler[0]); //Emre listBox1.Items.Add(isimler[1]); //Yahya listBox1.Items.Add(isimler[2]); //İlknur } bu şekilde yaptığın zamanda Emre, Yahya ve İlknur'un isimlerinin alt alta yazıldığını görebilirsin.
enes
Kasım 3, 2019 18:13
hocam selam.Oluşturduğumuz arrayleri nasıl yazdırabiliriz.Tek tek messagebox.show yapmadan.Toplu sıralı olarak ?_?
Email Adresi *
Görüntülenecek İsim *
Yorum *
Paylaş
  • f