Bạn đang tăng giá trị null ???
int? a = null;
a++;
Câu lệnh này đơn giản có nghĩa null++
là null + 1.
Theo tài liệu này, Một kiểu nullable có thể đại diện cho phạm vi giá trị chính xác cho kiểu giá trị cơ bản của nó, cộng thêm một giá trị null khác. có thể được gán giá trị null
Ở đây bạn đang tăng giá trị null, sau đó nó cũng sẽ trở thành giá trị null không phải 0 hoặc bất kỳ số nguyên nào khác.
Tại sao nó in trống thay vì lỗi ??
khi bạn in kiểu nullable với giá trị null nó sẽ in trống thay vì lỗi vì bạn đang in một biến tức là giá trị của vị trí bộ nhớ. có thể null hoặc bất kỳ số nguyên nào.
Nhưng khi bạn cố gắng in null bằng cách sử dụng Console.WriteLine(null)
, vì null không phải là một biến, vì vậy nó không tham chiếu đến bất kỳ vị trí bộ nhớ nào. Và do đó nó gây ra lỗi "NullReferenceException"
.
Sau đó, làm thế nào bạn có thể in bất kỳ số nguyên nào bằng cách sử dụng Console.WriteLine(2);
??
Trong trường hợp này, 2 sẽ ở trong bộ nhớ tại vị trí tạm thời và con trỏ trỏ đến vị trí bộ nhớ đó để in.
++
,+=
và+
đã dỡ bỏ các biến thể. Do đó các báo cáoa++;
,a += 1;
vàa = a + 1;
tất cả đều được cho phép. Mỗi sản phẩmnull
(không có ngoại lệ được ném) nếua
là ban đầunull
.