Çok Boyutlu Diziler (Multidimensional Array)

Çok boyutlu bir dizi ‘dizinin dizisi’ şeklinde tabir edilebilir. Her elemanı başka bir dizi olan diziler çok boyutlu bir dizidir. Çok boyutlu bir dizi veritabanında her satırında birden fazla kolon bulunan bir tabloya benzetilebilir. Eğer her satırda bulunan her kolon kendi içinde başka bir dizi barındırmıyorsa bu tür dizilere 2 boyutlu diğer bir değişle çok boyutlu diziler denir. Eğer her kolonda kendi içinde başka bir dizi barındırıyorsa bu tür dizilere n boyutlu diziler denir. Burda n ifadesi dizinin derinliğini ifade eder.

Çok boyutlu diziler iki çeşittir;


Düzenli Diziler: Her satırı aynı sayıda kolon barındıran diziler.
Düzensiz Diziler (Jagged Array) : Her satırı farklı sayıda kolon barındıran diziler.

!  Dizilerin ilk elemanının indeks numarasının 0 olduğunu unutmayın.

Dizilerin Tanımlanması ve Değer Atamaları

Tek boyutlu bir dizinin nasıl tanımlandığını ve nasıl değer atayacağımızı yukarda anlatmıştık. Şimdi Tek boyutlu dizi dahil tüm dizi tiplerini nasıl tanımlayacağımıza bakalım.

Tek Boyutlu Diziler:


//Dizinin Oluşturulması
int[] intDizi = new int[5];

//Dizi elemanlarına değer ataması
intDizi[0] = 36; //dizinin ilk elemanına 36 değeri atandı
intDizi[2] = 26; //dizinin ikinci elemanına 26 değeri atandı
intDizi[4] = 32; //dizinin son elemanına 32 değeri atandı

Çok Boyutlu Diziler:


//Dizinin Oluşturulması
int[,] intCokBDizi = new int[2, 3];

//Dizi elemanlarına değer ataması
intCokBDizi[0, 0] = 23;
intCokBDizi[0, 1] = 25;
intCokBDizi[0, 2] = 33;
intCokBDizi[1, 0] = 41;
intCokBDizi[1, 1] = 29;
intCokBDizi[1, 2] = 93;

Çok Boyutlu Dizilerin Elemanlarına Döngü İle Ulaşmak

for döngüsü:


//Dizi elemanlarını for döngüsü ile bulmak.
for (int row = 0; row < intCokBDizi.GetLength(0); row++)
{
    for (int col = 0; col < intCokBDizi.GetLength(1); col++)
    {
        Console.WriteLine("Dizinin {0},{1} indeksindeki değeri : {2}",row,col,intCokBDizi[row,col]);
    }
}


Ekran Çıktısı:
Dizinin 0,0 indeksindeki değeri : 23
Dizinin 0,1 indeksindeki değeri : 25
Dizinin 0,2 indeksindeki değeri : 33
Dizinin 1,0 indeksindeki değeri : 41
Dizinin 1,1 indeksindeki değeri : 29
Dizinin 1,2 indeksindeki değeri : 93
Devam etmek için bir tuşa basın . . .

      
! GetLength() fonksiyonu dizinin belirtilen boyutundaki eleman sayısını verir. Yukarıdaki örnekte görüldüğü gibi parametre olarak 0 veya 1 veriyoruz. 0 dizinin birinci boyutundaki eleman sayısı yani satır sayısı, 1 verdiğimizde ise dizinin 2.boyutu yani kolon sayısını verir.
! Dizilerin Length özelliği dizi içinde bulunan toplam eleman sayısını verir. Örneğin yukarıdaki örnekte tanımladığımız dizi için intCokBDizi.Length sonuç olarak 6 döndürür.

Düzensiz Çok Boyutlu Diziler:


//Dizinin Oluşturulması
int[][] intCokBDizi = new int[3][];

//İkinci boyutta bulunan her elemanda bir dizi olduğuna göre
//onlarıda new komutu ile ayarlamamız gerekir.
intCokBDizi[0] = new int[2];
intCokBDizi[1] = new int[4];
intCokBDizi[2] = new int[3];

//Dizi elemanlarına değer ataması
intCokBDizi[0][0] = 13;
intCokBDizi[0][1] = 15;

intCokBDizi[1][0] = 21;
intCokBDizi[1][1] = 29;
intCokBDizi[1][2] = 29;
intCokBDizi[1][3] = 23;

intCokBDizi[2][0] = 39;
intCokBDizi[2][1] = 39;
intCokBDizi[2][2] = 33;
! Bir önceki anlattığımız düzensiz çok boyutlu dizide for döngüsü kullanarak elemanlara tek tek ulaşmıştık. Düzensiz dizilerde elemanlara tek tek ulaşmak istediğimizde for döngüsü yerine foreach döngüsü kullanıyoruz.

Yorum Gönder Blogger

 
Üst