nullreferenceexception Hatası Ne Demek Nasıl Çözülür .Net aleminde C#, Vb.Net tarzı dilleri kullanarak kod yazma sırasında bir çok şahsın karşı karşıya kaldığı hatalardan birisi olan NullReferenceException yani Object reference not set to an instance of an object hatasıdır. Peki NullReferenceException Object reference not set to an instance of an object hatası nedir, Object reference not set to an instance of an object hatası nasıl çözülür?

nullreferenceexception Hatası
nullreferenceexception Hatası

NullReferenceException hatasının temel sebebi yaratılmamış bir nesneye değer atama veya değer okumaya çalışmaktır.

Örneğin üye türünde u1 adında bir obje olduğunu düşünelim. Aşağıdaki örnekte olduğu gibi NullReferenceException hatası alınır.

 

Uye u1=null;
u1.Ad="cahap.com";// NullReferenceException hatası verir.

Aşağıdaki örnekte NullReferenceException hatası ise alınmaz

Uye yeniUye =newUye();
yeniUye.Ad="cahap.com";

Yukarıdaki örnekte üye sınıfından yeniüye adında bir nesne oluşturuluyor.

 

Basit

string kelime =null;int uzunluk = kelime.Length

kelime null’dur. Bu sebepten kelime içerisinde uzunluğunu öğrenebileceğiniz bir string ifade yoktur.
Dolaylı

publicclassKisi{publicintYas{get;set;}}publicclassKitap{publicKisiYazar{get;set;}}Kitap k1 =newKitap();int yazarYas = k1.Yazar.Yas;

Yukarıdaki örnekte Kitap türünde yeni bir nesne oluşturuldu fakat k1 içerisindeki Yazar özeliğine bir başlangıç değeri atanmadı. Yani yaşı alınacak bir Kisi yok.

 

Dizi (Array)

int[] sayilar =null;int n = sayilar[0];// sayi null. indeksi 0 olan bir eleman yok.

Yukarıdaki örnekte NullReferenceException hatası verir.

Asp.Net içerisinde hatası ile en çok şu durumlarda karşılaşılır:

Asp.Net sayfasının yaşam döngüsü sonlandığında

 

publicpartialclassSayfa:System.Web.UI.Page{protectedKisi yeniKisi;protectedvoidPage_Load(object sender,EventArgs e){if(!IsPostBack){
yeniKisi =newKisi();// Sayfa yüklendiğinde çalışır. Buton tıklandığında çalışmaz.}}protectedvoidKaydetButon_Click(object sender,EventArgs e){
yeniKisi.Ad="Ad özelliğine erişmek istediğinizde NullReferenceException döner. Çünkü Page Load içerisindeki örnek artık erişilemezdir.";}}

Asp. Net Session değer atanmadığında veya değeri artık geçersiz olduğunda

stringAd=Session["Ad"].ToString();

Session’a değer atanmadıysa veya Session timeout olduysa NullReferenceException hatası dönecektir.оптимизация продвижение сайтовhelp chat ua