Çözüm C# Array'ların Null görünmesi

Bu konu bir çözümü açıklamaktadır. Herhangi bir çözüm açıklanmadığını düşünüyorsanız konuyu rapor edebilirsiniz.

Erdal Bakkal

Hectopat
Katılım
28 Temmuz 2018
Mesajlar
777
Çözümler
2
Bu sorunu kendim yaşadım (saat gece üçe kadar) ve çözümünü buldum, buraya yazmak istedim.
İlk olarak neden bahsettiğimi açıklayalım, başlık yetersiz gibime geliyor.

Bir kodumuz var ve custom variables olarak class kullanıyoruz.
Kod:
[System.Serializable]
public class Deger{
    public string id;
    public string ad;
}
Ve bu değer bir programda array şeylinde olsun ve array otomatik oluşsun.
Kod:
public class Program{

    public Deger[] datalar;
  
    public void UpdateData(){
        datalar = new Deger[5];
        for(int i = 0; i< datalar.Lenght; i++){
            datalar[i].id = "boş id";
        }
    }
}
Kodu çalıştığında 8. satır da null olduğu için hata verecektir. "Deger" isimli class da id = "" yazsanız bile bu hata alınıyor.
Bu hatayı çözmek için gece 1 saat uğraştım. Ama çözümü basitmiş sadece hatayı anlayamamışım.

Deger isimli class da otomatik olarak bunlara değer atayan bin fonksiyon olması ve bu fonksiyona eşitlememiz gerekmiş.
Örnek:
Kod:
public class Deger{
    public string id;
    public strnig ad;
  
    public Deger{
        id = " ";
        ad = " ";
    }
}

Program da ise her arrayı o fonksiyona eşitleyeceğiz.
Kod:
public class Program{

    public Deger[] datalar;
  
    public void UpdateData(){
        datalar = new Deger[5];
        for(int i = 0; i< datalar.Lenght; i++){
            datalar[i] = new Deger(); //bunu yeni ekledik
            datalar[i].id = "boş id";
        }
    }
}

Sizde bu sorunu yaşıyorsanız çözümü bu. Umarım yardımcı olmuşumdur.
 
Yukarı