C# Dizi Tüm Konular ve Örnek Program

C# dizi ile alakalı tüm konular ve örnek program ile c# dizi dünyasına bir giriş yapalım ve c# üzerinde bir proje yaparken olmazsa olmaz dizilerin iç dünyasına birlikte girip diziler ile kullanabileceğimiz tüm methodlara bakalım. c# dizi metodlarını kendim test uygulamasında uygulayıp sizlere aktarıyorum. Yazı sonunda sizlerle indirme linkini paylaşacağım.

C# Dizi Genel Olarak Nedir?

Diziler aynı tüdeki verilerimizi grup halinde index yani aynı bir tablo gibi saklayabileceğimiz yapılardır. Örneğin sınıftaki öğrenci adlarını tutmak istiyoruz, öğrenci adları sınıf kişi sayısı kadar olacağı için bir tekrar söz konusu demektir böyle bir yapıyı dizi içinde saklamak daha sağlıklı olacaktır.

Örnek tanımlama:

string [ ] sinif_ad= new string[30];

Üstteki tanımlama ile sinif_ad adında 30 elelmana sahip bir değişken yaratıyoruz ama 0-30 arası boş bir şekilde yaratılmış olup bizden hazır bir şekilde değer atamamızı beklemektedirler.

sinif_ad[0]="Hakan kar"; dediğim anda dizinin ilk değer "Hakan kar" olacaktır.

Dizilere Tanımlama Esnasında da Değer Atanabilir:

string[ ] sinif_ad = {"hakan kar", "bulut su","ayşe"};

C# Dizi Yeniden Boyutlandırma

Diziler bir kez tanımlandıktan sonra boyutlarında program içinde değişiklik yapmak için özel bir method vardır. Daha önceki yazımda bu methoda göz atmıştık buraya tıklayabilirsiniz.

C# Dizilerde Kullanılan Metodlar Nelerdir?

Genel anlamıyla diziler üzerinde hangi metodları kullanabiliriz onları inceleyeceğiz c# içinde dizi metodları System.Array sınıfı altında bulunmaktadır.

SETVALUE METODU

Diziye Eleman atamak için kullanılan metodtur. Kullanımı:

SetValue("Atanacak Değer", index değeri);

Örnek Uygulama:

string[] sinif_ad = new string[5];
        void dizi_yazdir()
        {
            for (int i = 0;i< sinif_ad.Length; i++)
            {
                listBox1.Items.Add(sinif_ad[i]);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            sinif_ad[0] = "hakan";
            sinif_ad[1] = "sinan";
            sinif_ad[2] = "hüseyin";
            sinif_ad[3] = "cafer";
            sinif_ad.SetValue("oğuz", 4);
            dizi_yazdir();
        }

İlk başta diziye normal olarak ekledik v 4. index'e SetValue ile değer atadık. Ekran çıktısı:

c# diziler setvalue

GETVALUE METODU

Dizi içersindeki elemanlara erişmek içinde adı üstünde getvalue kullanılır. Kullanımı:

GetValue(idex değerimiz) - Örnek uygulamamızda test edelim hemen button1_click altına aşağıdaki kodu ekleyelim:

 sinif_ad.SetValue("oğuz", 4);

messageBox'ta gösterdiğimizde aşağıdaki gibi gözükücektir:

c# getvalue

JOIN METODU

Dizi içersindeki atadğımız değerleri hepsini tek bir string değişkene belirlediğimiz ayırıcı işaret ile atamamızı sağlar "- ," gibi. Kullanım şekli:

string.join(ayırıcı karakter, dizi adımızı);

Formunuza bir adet textBox ekleyelim ve dizimizdeki değerleri join ile virgül işareti ile ayırarak textBox içine yazdıralım:

textBox1.Text = string.Join(",", sinif_ad);

Button içine yukarıdaki kodu ekleyebiliriz. Program görüntüsü aşağıdaki gibi olacaktır:

C# join

COPY METODU

Kopyalama metodudur. Bir dizinin içindeki elemanları başka bir diziye aktarmak için kullanılan metodtur. Kullanım şekli aşağıdaki gibidir:

Array.Copy(kaynak dizi, hedef dizi, eleman sayısı);

Örnek uygulamaya ekleyelim:

string[] sinif2_ad = new string[10];
//yeni dizi tanıttık

//2. diziye ilk 2 elemanı kopyaladık
Array.Copy(sinif_ad, sinif2_ad, 2);
//join ile textBox'a yazdırdık
textBox1.Text = string.Join(",", sinif2_ad);

C# Dizi İçinde Arama İşlemleri Nasıl Yapılır?

Dizi içersindeki elemanlar arasında arama yapmanın farklı yolları vardır bu başlık altında örnek uygulamamız üzerinden bu metodlara bir göz atacağız.

COUNTAINS ARAMA METODU

Bool değer döndürür değer var ya da yok şeklinde geriye değer döndürür. Örnek uygulamada bakalım:

if (sinif_ad.Contains("sinan"))
            {
                MessageBox.Show("Değer var");
            }
            else { MessageBox.Show("Değer Yok"); }

INDEXOF METODU

Dizi içinde aranan değerin dizinin kaçıncı index'inde yani kaçıncı sırasında bulunduğunu söyler. Bulunan değer olmazsa geri -1 döndürür. Kullanım şekli:

IndexOf(arama yapılacak dizi, aranacak değer, aramanın başlayacağı index);

Örnek Uygulama üzerinde deneyelim textBox'a girdiğimiz değeri dizi içinde arayan uygulama:

 int indexdegeri = Array.IndexOf(sinif_ad, textBox1.Text, 0);
            if (indexdegeri == -1)
            {
                MessageBox.Show("Değer Yok");
            }
            else {
                MessageBox.Show("Aranan değer mevcut  " + sinif_ad[indexdegeri].ToString());
            }

LASTINDEX METODU

İndexof metodu gibi kullanılır fakat tek farkı dizi içersinde aynı değerden birden fazla varsa, bu method en sonki değeri verir.

LastIndexOf(arama yapılacak dizi, aranacak değer, aramanın başlayacağı index);

 

Dizi kullanım metodlarımız şimdilik bu şekildedir. Dizi sınıfından olan ArrayList sınıfı vardır ayrıca ArrayList sınıfı detaylı bilgi için tıklayınız. Program indirme linki için tıklayınız.

 

 

Yeni yorum ekle

Plain text

  • Hiç bir HTML etiketine izin verilmez
  • Web sayfası ve e-posta adresleri otomatik olarak bağlantıya çevrilir.
  • Satır ve paragraflar otomatik olarak bölünür.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.