Derin null kontrolü, daha iyi bir yolu var mı?
Not:Bu soru the .? operator in C# 6 / Visual Studio 2015 kullanılmaya başlamadan önce soruldu.
Biz de bu yollardan geçtik, kek gibi derin bir özellik var.buzlanma.çilek.eğer durum yok yani boş olup olmadığını kontrol etmemiz gereken loader. Böyle kısa devre eğer bir deyim kullanmaktır
if (cake != null && cake.frosting != null && cake.frosting.berries != null) ...
Bu çok şık değil ancak beni vurur, belki de tüm zincirin kontrol etmek daha kolay bir yolu olmalı ve eğer özellik/null bir değişken karşı gelirse bakın.
Bu yüzden mümkün biraz uzatma yöntemi kullanıyor yoksa dil bir özellik olacaktır, yoksa sadece kötü bir fikir mi?
CEVAP
Yeni bir çalışma ekleyerek ele aldık " mı?." dil için istediğin mantığı vardır. (Ve şimdi eklendi; aşağıya bakın.) Yani, demek istiyorum
cake?.frosting?.berries?.loader
ve derleyici için kısa devre tüm kontrolleri oluşturmak.
C bar# 4 yapmak değildi. Dil farazi bir gelecek sürüm için belki de.
Güncelleme (2014):
?. operatör şimdi planned sonraki Roslyn derleyici sürüm içindir. Hala operatör tam sözdizimsel ve anlamsal analizi üzerinde bazı tartışmalar olduğunu unutmayın.
Güncelleme (Temmuz 2015):Visual Studio 2015'te serbest bırakıldı ve bir C ile gemiler# null-conditional operators ?. and ?[] destekleyen derleyici.

Bir dosyanın önceki bir SVN revizyon i...
Numaralama.() Ayrıştırmak, kesinlikle ...
Nil ya da UzunluÄŸu Kontrol Ruby bir Di...
Geçiş daha küçük, daha büyük bir monit...
İPad simülatörü daha büyük yapmak için...