Apakah Anda menambahkan null ???
int? a = null;
a++;
Pernyataan ini berarti null++
yaitu null + 1.
Sesuai dengan dokumen ini, Jenis nullable dapat mewakili rentang nilai yang benar untuk jenis nilai dasarnya, ditambah nilai null tambahan. Nullable, diucapkan "Nullable of Int32", dapat diberi nilai apa pun dari -2147483648 hingga 2147483647, atau dapat diberi nilai nol
Di sini Anda menambahkan nol, maka itu juga akan menjadi nilai nol bukan 0 atau bilangan bulat lainnya.
Mengapa mencetak kosong, bukan error ??
ketika Anda mencetak tipe nullable dengan nilai null mencetak kosong bukannya kesalahan karena Anda mencetak variabel yaitu nilai lokasi memori. yang mungkin nol atau bilangan bulat apa pun.
Tetapi ketika Anda mencoba untuk mencetak null menggunakan Console.WriteLine(null)
, karena null bukanlah variabel, jadi tidak merujuk ke lokasi memori apa pun. Dan karena itu memberikan kesalahan "NullReferenceException"
.
Lalu bagaimana Anda bisa mencetak integer apapun menggunakan Console.WriteLine(2);
??
Dalam kasus ini, 2 akan masuk ke memori di lokasi sementara, dan penunjuk menunjuk ke lokasi memori tersebut untuk mencetak.
++
,+=
dan+
telah mengangkat varian. Oleh karena itu laporana++;
,a += 1;
dana = a + 1;
semua diperbolehkan. Setiap produknull
(tidak terkecuali dibuang) jikaa
awalnyanull
.