Yazılım Notları
Bilgi Paylaştıkça Çoğalır...

C Sharp Temelleri - 3: Array ve ArrayList (Dizi ve Dizi Listeleri)

Array (Dizi) nedir? ArrayList(Dizi Listesi) nedir? Dizi elemanlarına nasıl ulaşılır. Dizi İndeksleri. Dizilerin oluşturulması, varsayılan değerleri. Tek Boyutlu Diziler, Çok Boyutlu Diziler.

Arrays (Diziler)

Diziler, aynı veri tipindeki değer serilerini depolamanızı sağlar. Dizi içindeki her bağımsız item’ a bir ya da daha çok indeks ile erişilebilir. Dizileri en iyi şekilde kavrayabilmek için tek boyutluysa bir veri listesi şeklinde; iki boyutluysa bir tablo şeklinde düşünmek faydalı olacaktır.

Bütün diziler 0 (sıfır) indeksi ile başlar. Bu kuralım herhangi bir istisnası yoktur. C Sharpta yeni bir dizi oluşturulduğunda, ilk önce bu dizinin kaç elemanı olacağı belirtilir. Dizi indeksi sıfırdan (0’dan) başladığı için, dizinin son elemanının indeksi eleman sayısının bir eksiğidir.

// 4 adet string değeri depolayan tek boyutlu bir Array (dizi)

// Diziyi (Array) kullanabilmek için öncelikle "new" anahtar kelimesiyle

// başlatmak gerekmektedir.

string[] stringDizisi = new string[4];

 

Oluşturulan dizi eğer basit veri tiplerini(NUMBER ya da Boolean veri tipinde ) içeriyorsa, dizi elemanlarının başlangıç değerleri varsayılan olarak 0(sıfır) ya da False olacak şekilde yorumlanır. Ancak, eğer dizi String ya da diğer çeşitli nesne türlerini içeriyorsa, bu elemanlar başlangıç olarak null değerlere atanırlar.

Diziler oluşturulduğu anda da veri ile doldurulabilir. Bu durumda, dizinin boyutunun ayrıca belirlenmesine gerek yoktur.

string[] stringDizisi = { "Ahmet", "Ayşe", "Hakan", "Seda", "Mehmet" };

 

Bu teknik çok boyutlu diziler için de geçerlidir.

string[,] strPersonelAdiUnvani = {

{ "Mehmet", "Yazılım Uzmanı" },

{ "Hakan", "Veri tabanı Yöneticisi" },

{ "Ömer", "Webmaster" }

};

 

 

Mehmet

Bu eleman (0,0) elemanıdır

 

Yazılım Uzmanı

Bu eleman (0,1) elemanıdır

 

Hakan

Bu eleman (1,0) elemanıdır

 

 

Veri Tabanı Yöneticisi

Bu eleman (1,1) elemanıdır

 

Ömer

Bu eleman (2,0) elemanıdır

 

Webmaster

Bu eleman (2,1) elemanıdır

 

 

 

Dizideki bir elemana erişmek için köşeli parantez içine ulaşılmak istenen indeksler yazılır. Dizi indeksleri her zaman sıfırdan başlar. Yani, dizi[0] her zaman birinci hücre değerini verir.

Yukarıdaki tabloya göre (0,1) indeksli eleman=strPersonelAdiUnvani[0,1]=”Yazılım Uzmanı”

strPersonelAdiUnvani[0,1]=dizinin sıfırıncı satır(ilk satırı) ve ikinci kolonu()

Burada oluşturulan strPersonelAdiUnvani çok boyutlu dizisinin 3 elemanı(satırı) vardır. Dizinin her elemanının 2 kolonu vardır. Yani bu dizi 3x2 boyutlu bir çok boyutlu dizidir. Bu kolonlardan birincisinde “Kişi Adı”, ikincisinde ise “Unvanı” bulunmaktadır.

Örnek:

int[,] sayilar = { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };

//Birinci Satır(satır=row=0) İkinci Kolondaki(kolon=column=1) Veriye Erişim İçin

int eleman = sayilar[0, 1];

      

ArrayList (Dizi Listesi)

C# dizilerin yeniden boyutlandırılmasına izin vermez. Yani, bir diziyi bir kez oluşturup, onun boyutunu belirledikten sonra, artık bu dizinin boyutu değiştirilemez. Bunun yerine, yeni boyutla yeni bir dizi oluşturulur ve eski dizideki değerler yeni diziye kopyalanır. Bununla birlikte, eğer ihtiyaç olunan şey liste şeklinde bir dinamik dizi(dynamic array) ise, tüm .NET programlama dillerinin .NET sınıf kütüphanesi yoluyla sunduğu Collection Sınıflarından birisi kullanılmalıdır. .NET’in sunduğu Collection Sınıflarından en temeli, dinamik yeniden boyutlandırmaya imkan tanıyan ArrayList tir.

 

//Bir ArrayList nesnesinin oluştutulması. Bu bir dizi değil, Collection'dır

//Bu yüzden söz dizimi biraz farklıdır.

 

 ArrayList dynamicList = new ArrayList();

 //Bazı string değerlerin eklenmesi:

 dynamicList.Add("bir");

 dynamicList.Add("iki");

 dynamicList.Add("üç");

 

//İlk String’in değerinin alınması. Burada, dynamicList nesnesinin sıfırıncı (0) //indeksindeki değerin stringe çevrilmesi gerekir.

string eleman = Convert.ToString(dynamicList[0]);

 

 

Banka Hesap Numaralarınızı, IBAN Numaralarınızı bir kere telefonunuza kaydedin. İhtiyaç duyduğunuzda elinizin altında olsun.

Banka Hesaplarım

En Güzel Sözler Uygulaması İçin


En Çok Rating Alanlar
Ana Sayfa       Arama       Valid CSS!