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
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.
Özel durum açıklaması ve yığın bir ist...
Neden tuval yapar.() toDataURL Güvenli...
Neden nesne türü dinamik bir null başv...
Neden özel durum kötü idare ediyor?...
O'imkansız __dan özel durum s ned...