Null artırıyor musunuz ???
int? a = null;
a++;
Bu ifade basitçe null++
yani null + 1 anlamına gelir .
Bu belgeye göre, null yapılabilir bir tür, temel alınan değer türü için doğru değer aralığını ve ek bir boş değeri temsil edebilir. "Nullable of Int32" olarak telaffuz edilen Nullable, -2147483648 ila 2147483647 arasında herhangi bir değer atanabilir veya boş değer atanabilir
Burada null değerini artırıyorsunuz, o zaman da 0 değil null değer veya başka bir tamsayı olacaktır.
Neden hata yerine boş yazdırıyor?
null değeri olan null yapılabilir bir tür yazdırdığınızda, bir değişken ie değerini bir bellek konumu yazdırdığınız için hata yerine boş yazdırır. bu, boş veya herhangi bir tam sayı olabilir.
Ancak null kullanarak null yazdırmaya çalıştığınızda Console.WriteLine(null)
, null bir değişken olmadığından herhangi bir bellek konumuna başvurmaz. Ve dolayısıyla hata verir "NullReferenceException"
.
O halde herhangi bir tamsayıyı Console.WriteLine(2);
?? kullanarak nasıl yazdırabilirsiniz ?
Bu durumda, 2 geçici konumda hafızaya girecek ve işaretçi yazdırmak için bu hafıza konumuna işaret edecektir.
++
,+=
ve+
varyantları kaldırdık. Bu nedenle ifadeleria++;
,a += 1;
vea = a + 1;
tüm izin verilir. Başlangıçtanull
ise her ürün (istisnasız) .a
null