SORU
17 Ocak 2010, Pazar


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
17 Ocak 2010, Pazar


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boogie2988

    boogie2988

    6 NİSAN 2006
  • Richard Laxa

    Richard Laxa

    30 AĞUSTOS 2012
  • SavageLuxxxGaming - Daily NBA 2K15 & NBA Live 15 Enjoy And Subscribe!

    SavageLuxxxG

    11 Ocak 2013