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

  • HowtoDrawAndPaint

    HowtoDrawAnd

    24 EKİM 2010
  • OnlyFunClips

    OnlyFunClips

    16 ŞUBAT 2012
  • Theodore Leaf

    Theodore Lea

    29 AĞUSTOS 2006