Merhaba Arkadaslar,
Özellikle yazilima yeni baslayan arkadaslar için faydali olacagini düsünüyorum bu makalenin.
Dizilerle ugrasirken(dinamik olmayan dizilerle), siklikla karsilasilabilen, insana kafayi yedirten bir hatadan bahsedecegim. IndexOutOfRangeException.
Peki, bu hata nedir, neden bu hatayi aliriz?
Bu hatayi almamizin sebebi, dizimizin kapasitesinden daha fazla istedigimiz bir islemdir. Bu görüntüleme,ekleme,silme vs olabilir.
Yani bizim 5 elemanli bir dizimiz varsa ve biz herhangi bir döngüde 6 kere çalismasini istersek, 5 elemani ekrana yazacak sira 6.cisina geldiginde IndexOutOfRangeException Dizin Dizi Sinirlarinin Disindaydi hatasini verecektir.
Bu hatayi aldigimizda en çok dikkat etmemiz gereken nokta, kapasitesinden eksik degil fazla istekte bulunmamizdir.
Kafaniz karismasin, Söyle ki;
Eger bizim 4 elemanli bir dizimiz varsa biz dizimize herhangi bir döngü ile 3 tane eleman ekleyebiliriz bu bir hata degildir. 4.cü elemaninin bir degeri yoksa, standart olarak baslangiç degerini alacaktir. Eger rakamsal degerse 0, mantiksal degerse False, String ise String.Empty olarak düsünebiliriz.
Ama 4 elemanli dizimize herhangi bir döngü ile ya da döngü olmadan 5 tane eleman eklemek istersek IndexOutOfRangeException hatasini aliriz.
Bu hatanin nedenini BreakPoint yardimi ile kendiniz de görebilirsiniz aslinda.
Söyle bir örnek faydali olacaktir;
5 Elemanli bir dizi tanimlayin ve 6 adet eleman ekleyin, BreakPoint koyarak projeyi çalistirin.
Son elemana geldigi zaman orada da göreceksiniz.
Hepinize bol kod'lu günler diliyorum arkadaslar,
Takildiginiz yerlerde yorum yapmaniz yeterli...
Yazılım Geliştirici & Yazılım Uzmanı