C# Dersleri 64 - Çok Boyutlu Diziler

C# Dersleri 64 - Çok Boyutlu Diziler


C# Çok Boyutlu Diziler (Multidimensional Arrays)

Ç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 Nedir?

Ç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 Dizi Tanımlama ve Oluşturma

Ç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şim

Ç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 Dizilerle Döngü Kullanımı

Ç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ç
}

Dizi Özellikleri ve Metotları

  • 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

Örnek: Bir Tabloyu Yazdırma

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
}

Programın Çıktısı

Notlar Tablosu:
85	90	78
88	92	80
95	89	84

Sonuç

Ç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.

Bu içeriği beğendiyseniz paylaşarak destek olabilirsiniz!


Eğitim İçeriği

Eğitim C# Dersleri
Kategori Programlama Dili
Ders Adeti 69 Ders
Dil Türkçe
Güncelleme 04/2024
  • HTML Dersleri

    HTML Dersleri Sıfırdan İleri Seviyeye

    Kategori Web Programlama
    Ders Süresi 19 Ders
    Dil Türkçe
    Güncelleme 12/2020
    Derse Başla
  • Java Dersleri

    Java Dersleri ve Nesne Yönelimli Programlama

    Kategori Programlama Dili
    Ders Süresi 125 Ders
    Dil Türkçe
    Güncelleme 09/2020
    Derse Başla
  • CSS Dersleri

    CSS Dersleri Başlangıçtan İleri Seviyeye

    Kategori Web Programlama
    Ders Süresi 49 Ders
    Dil Türkçe
    Güncelleme 10/2021
    Derse Başla
  • Java Örnek Projeler

    Java Örnek Projeler

    Kategori Programlama Dili
    Ders Süresi 20 Ders
    Dil Türkçe
    Güncelleme 10/2022
    Derse Başla
  • C# Dersleri

    C# Dersleri ve Nesne Yönelimli Programlama

    Kategori Programlama Dili
    Ders Süresi 100 Ders
    Dil Türkçe
    Güncelleme 04/2024
    Derse Başla