SORU
20 Mart 2015, Cuma


Neden yok'artan Null< t;int> bir özel durum?

İzah eder misiniz, neden teselli eder.WriteLine NullReferenceException (bile a =1 sormasın) yok neden boş satır (Console.WriteLine(null) beni derleme hatası verir) yazıp?

int? a = null;
a  ; // Why there is not NullReferenceException? 
Console.WriteLine(a); // Empty line

CEVAP
20 Mart 2015, Cuma


Jon cevabı doğru ancak bazı notlar eklemek istiyorum.

Neden Console.WriteLine(null) derleme bir hata veriyor mu?

Orada 19 aşırı Console.WriteLine ve üç tanesi de geçerli bir null: o alır string Bir tek o alır char[] ve bir o alır object. C# olamaz mı yani belirlemek, böylece bir hata veriyor. Console.WriteLine((object)null) artık çok açık olduğu için yasal olacaktır.

neden Console.WriteLine(a) boş bir satır yazdı mı?

a 13 ** boş. Aşırı çözümleme yöntemi object sürümünü seçer int? null başvuru kutulu. Bu temelde boş bir satır yazar*, 16*, aynıdır.

Neden orada artışı NullReferenceException değil mi?

Nerede boşbaşvuruhakkında endişeleniyorsun? a başvuru türü ile başlamak için bir null int?! Unutmayın, NULL değer türleri vardırdeğer türlerideğilbaşvuru türlerio yüzden onları bir başvuru türü için kutulu sürece referans mantığı beklemeyin. Ayrıca boks yok.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Garrett Müller

    Garrett Mül

    26 HAZİRAN 2009
  • HBO

    HBO

    17 Mayıs 2006
  • SHAYTARDS

    SHAYTARDS

    1 EKİM 2008