NULL değerinin olmaması ve "" veya String.Empty'nin geçerli bir değer olduğunu düşünerek dizelerimi her zaman NULL olarak başlattım. Son zamanlarda String.Empty'nin varsayılan değer olarak kabul edildiği veya hiçbir değeri temsil etmediği daha fazla kod örneği gördüm. Bu bana tuhaf geliyor, c # 'teki yeni eklenen boş değer atanabilir türlerle,' Değer Yok'u temsil etmek için NULL kullanmayarak dizelerle geriye doğru adımlar atıyoruz gibi görünüyor.
Varsayılan başlatıcı olarak ne kullanıyorsunuz ve neden?
Düzenleme: Cevaplara dayanarak daha fazla düşüncelerimi geliştirdim
Hata işlemeyi önleme Değer null olmaması gerekiyorsa, neden
NULLilk etapta ayarlandı ? Belki de hatayı, kod tabanınızın geri kalanını örtmek yerine, oluştuğu yerde tanımlamak daha iyi olur?Boş kontrollerden kaçınmak Eğer kodda boş kontroller yapmaktan sıkıldıysanız, boş kontrolleri soyutlamak daha iyi olmaz mı? Belki de dize yöntemlerini
NULLgüvenli hale getirmek için sarın (veya uzatın!) ? Sürekli kullanırsanızString.Emptyve bir boş değer sisteminize girerse ne olur , yine deNULLkontrol eklemeye başlar mısınız?
Yardım edemem ama bunun tembellik olduğu fikrine dönüyorum. Herhangi bir DBA null, veritabanında '' yerine kullanırsanız size aptal olmanın dokuz yolunu tokatlayacaktır . Aynı ilkelerin programlamada da geçerli olduğunu düşünüyorum ve hiçbir değeri temsil String.Emptyetmekten ziyade kullanan, kafayı ters çeviren biri olmalı NULL.
ilgili sorular