Çok boyutlu diziler (multidimensional arrays), satırlar ve sütunlarla ayrılmış veri kümeleridir. Bu veri kümeleri bilgileri saklamak amacıyla kullanılır. C# dilinde iki boyutlu diziler (2D arrays) ve daha yüksek boyutlu diziler tanımlanabilir. İki boyutlu diziler genellikle matrisler olarak düşünülür, ancak C# dilinde üç veya daha fazla boyutlu diziler de tanımlanabilir.
İki boyutlu diziler, bir satır ve bir sütun olmak üzere iki boyuta sahiptir. Örneğin, bir matrisi temsil edebilirler. Üç veya daha fazla boyutlu diziler, daha karmaşık veri yapılarını temsil etmek için kullanılabilir.
Daha detaylı anlamınız için sizlere aşağıdaki görseli hazırladım. Aşağıdaki görselde ki ilk örnek tek boyutlu diziyi ikinci resim ise 2 boyutlu diziyi temsil eder.
Örneklemek gerekirse; Tek boyutlu dizi örneğine bakacak olursak (int[] BirinciSınavNotları = new int[10];) “BirinciSınavNotları” adında 10 boyutlu bir dizi tanımladık içerisine de 10 adet öğrencinin notlarını atadığımızı düşünün. Bu şekilde 10 öğrencinin notlarının düzenlendiği bir tablo oluşturmuş olduk. Şimdi ise bu tablodan yani diziden 5 numaralı öğrencinin notunu öğrenmeye çalışalım. “BirinciSınavNotları[5]” şeklinde çağırdığımız zaman bize 5 numaralı öğrencinin sınav notu olan 65 değerini geri döndürür.
İki boyutlu dizi örneğine bakacak olursak (int[,] BirinciSınavNotları = new int[2,10];) TumSınavNotları adında 2 satırı ve 10 sütundan oluşan bir dizi tanımladık.
Bunu ise şu şekilde düşünebiliriz. Sütundaki 10 index’i 10 adet öğrenciyi, satırda ki 0 index’i öğrencilerin vize notlarını 1 index’i ise final notlarını temsil eder. Bu şekilde 10 adet öğrencinin vize ve final notlarının girildiği bir tablo oluşturduğumuzu hayal edelim. Şimdi ise bu tablodan 5 numaralı öğrencinin final notunu öğrenmeye çalışalım yani “TümSınavNotları[1,5]” şeklinde çağırdığımız zaman bize 1 indexteki final notlarından 5 indexindeki öğrencinin notunu geri döndürecektir.
Biz örneklerimizde tek ve iki boyutlu dizileri örnek kullanarak anlatmış olsak ta çok boyutlu diziler genellikle 1, 2 ve 3 boyutlu dizilerden oluşur.
int[,] array = new int[4, 2];
int[,,] array1 = new int[4, 2, 3];
int[,] array5;
array5 = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
array5[2, 1] = 25;
int elementValue = array5[2, 1];