C# Dersleri 62 - Diziler (Array) Nedir ?


C# Diziler (Arrays) Nedir?

Diziler (arrays), birden fazla değeri tek bir veri yapısında saklamamıza olanak sağlayan bir koleksiyon türüdür. Aynı türdeki verilere kolay erişim ve işlem yapmayı sağlar. C#’ta diziler, sabit boyutlu veri yapılarıdır ve sıralı bir şekilde saklanırlar.

Dizi Tanımlama

Dizi tanımlamak için veri türü belirtilir ve ardından köşeli parantez ([]) kullanılır:

int[] numbers; // Tam sayı türünde bir dizi tanımı
string[] names; // Metin türünde bir dizi tanımı

Dizi Oluşturma

Dizi oluşturmak için boyutu belirlenir veya başlangıç değerleri atanır:

// Boyut belirterek dizi oluşturma
int[] numbers = new int[5]; // 5 elemanlı bir tam sayı dizisi

// Başlangıç değerleriyle dizi oluşturma
string[] names = { "Ali", "Ayşe", "Veli" }; // 3 elemanlı bir metin dizisi

Dizinin Elemanlarına Erişim

Dizinin elemanlarına indeks (0’dan başlayarak) ile erişilir:

int[] numbers = { 10, 20, 30, 40, 50 };

Console.WriteLine(numbers[0]); // İlk eleman: 10
Console.WriteLine(numbers[2]); // Üçüncü eleman: 30

// Eleman değiştirme
numbers[1] = 25;
Console.WriteLine(numbers[1]); // İkinci eleman: 25

Dizilerde Döngü Kullanımı

Diziler genellikle döngülerle işlenir:

int[] numbers = { 10, 20, 30, 40, 50 };

// for döngüsü ile elemanlara erişim
for (int i = 0; i < numbers.Length; i++)
{
    Console.WriteLine(numbers[i]);
}

// foreach döngüsü ile elemanlara erişim
foreach (int number in numbers)
{
    Console.WriteLine(number);
}

Dizilerle Sık Kullanılan Metotlar

  • Array.Sort(dizi): Diziyi sıralar.
  • Array.Reverse(dizi): Diziyi ters çevirir.
  • Array.Length: Dizinin eleman sayısını döner.
int[] numbers = { 40, 10, 30, 20, 50 };

Array.Sort(numbers); // Diziyi sıralar: 10, 20, 30, 40, 50
Array.Reverse(numbers); // Diziyi ters çevirir: 50, 40, 30, 20, 10

Console.WriteLine($"Dizinin eleman sayısı: {numbers.Length}");

Çok Boyutlu Diziler

C# dilinde çok boyutlu diziler de tanımlanabilir. Örneğin, 2 boyutlu bir dizi:

// 2 boyutlu dizi tanımlama
int[] matrix = 
{
    { 1, 2, 3 },
    { 4, 5, 6 },
    { 7, 8, 9 }
};

// Elemanlara erişim
Console.WriteLine(matrix[0, 1]); // İlk satır, ikinci sütun: 2
Console.WriteLine(matrix[2, 2]); // Üçüncü satır, üçüncü sütun: 9

Dizilerin Avantajları

  • Veri Yönetimi: Aynı türdeki birden fazla değeri bir arada saklamayı sağlar.
  • Hızlı Erişim: Dizinin elemanlarına indeks ile hızlıca erişilebilir.
  • Kullanım Kolaylığı: Döngülerle kolayca işlenebilir.

Dizilerin Sınırlamaları

  • Sabit Boyut: Dizi oluşturulduktan sonra boyutu değiştirilemez.
  • Aynı Tür: Dizinin tüm elemanları aynı türde olmalıdır.

Sonuç

Diziler, C# dilinde veri yönetimi için temel araçlardan biridir. Tek boyutlu veya çok boyutlu diziler kullanarak büyük miktarda veri düzenlenebilir ve işlenebilir. Döngüler ve dizi metotları ile dizileri etkili bir şekilde kullanmayı öğrenmek, programlama becerilerinizi geliştirecektir.