Çok boyutlu diziler, birden fazla boyutta veri saklamamıza olanak tanıyan veri yapılarıdır. C# dilinde çok boyutlu diziler genellikle 2 veya 3 boyutlu olarak kullanılır. Bu yazıda, çok boyutlu dizilerin tanımlanmasını, oluşturulmasını ve kullanılmasını örneklerle açıklayacağız.
Çok boyutlu diziler, her boyutta farklı bir düzende veri saklar. Örneğin, 2 boyutlu bir dizi tablo gibi düşünülebilir ve satır/sütun düzeninde veriler içerir. Daha fazla boyut, daha karmaşık veri yapıları oluşturmak için kullanılabilir.
Çok boyutlu bir dizi tanımlamak için, veri türünden sonra her boyut için virgülle ayrılmış köşeli parantezler ([,]
) kullanılır. Dizi oluşturulurken her boyutun boyutu belirtilir veya başlangıç değerleri atanır.
// 2 boyutlu dizi tanımlama ve oluşturma int[,] matrix = new int[3, 3]; // 3x3 boyutlu bir dizi // 2 boyutlu diziye başlangıç değerleri atama int[,] numbers = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
Çok boyutlu dizinin elemanlarına erişmek için her boyut için bir indeks belirtilir. İndeksler sıfırdan başlar.
int[,] matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; // İlk satır, ikinci sütundaki eleman Console.WriteLine(matrix[0, 1]); // 2 // Üçüncü satır, üçüncü sütundaki eleman Console.WriteLine(matrix[2, 2]); // 9
Çok boyutlu dizilerde her elemanı işlemek için iç içe döngüler kullanılır. Örneğin:
int[] matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; // Tüm elemanları yazdırmak için iç içe döngüler for (int i = 0; i < matrix.GetLength(0); i++) // Satır sayısı { for (int j = 0; j < matrix.GetLength(1); j++) // Sütun sayısı { Console.Write(matrix[i, j] + " "); } Console.WriteLine(); // Yeni satıra geç }
GetLength(boyut):
Belirtilen boyuttaki eleman sayısını döndürür.Rank:
Dizinin boyut sayısını döndürür.int[,] matrix = new int[3, 4]; Console.WriteLine($"Satır sayısı: {matrix.GetLength(0)}"); // 3 Console.WriteLine($"Sütun sayısı: {matrix.GetLength(1)}"); // 4 Console.WriteLine($"Dizinin boyutu: {matrix.Rank}"); // 2
Bir çok boyutlu diziyi tablo formatında ekrana yazdıran örnek:
int[,] grades = { { 85, 90, 78 }, { 88, 92, 80 }, { 95, 89, 84 } }; Console.WriteLine("Notlar Tablosu:"); for (int i = 0; i < grades.GetLength(0); i++) // Satır sayısı { for (int j = 0; j < grades.GetLength(1); j++) // Sütun sayısı { Console.Write(grades[i, j] + "\t"); // Elemanları tab aralığıyla yazdır } Console.WriteLine(); // Satır sonu }
Notlar Tablosu: 85 90 78 88 92 80 95 89 84
Çok boyutlu diziler, tablo veya matris gibi verileri düzenli bir şekilde saklamak ve işlem yapmak için idealdir. İç içe döngülerle bu dizileri işlemek kolaydır. Bu yapılar, oyun geliştirme, veri analizi ve bilimsel hesaplamalar gibi alanlarda yaygın olarak kullanılır. Pratik yaparak bu konsepti daha iyi anlayabilir ve projelerinizde etkili bir şekilde kullanabilirsiniz.