IndexOutOfRangeException, dizide var olmayan bir indekse eriştiğinde oluşur. Diziler 0'dan başlar.

Neden olur?

Sık neden: döngüde <= kullanmak veya Count/Length değerini indeks olarak kullanmak.

Hatalı kod

int[] sayilar = { 1, 2, 3 };
for (int i = 0; i <= sayilar.Length; i++)
    Console.WriteLine(sayilar[i]);   // hata

Doğru kod

int[] sayilar = { 1, 2, 3 };
for (int i = 0; i < sayilar.Length; i++)
    Console.WriteLine(sayilar[i]);
// ya da: foreach (var s in sayilar) ...

Kontrol listesi

  • Döngü koşulunda < Length kullan.
  • Son indeks Length - 1'dir.
  • Mümkünse foreach kullan.

C# derslerimizle pratik yapabilirsin.