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
< Lengthkullan. - Son indeks
Length - 1'dir. - Mümkünse
foreachkullan.
C# derslerimizle pratik yapabilirsin.