Ví dụ kiểu bool thì chỉ có 2 giá trị là true và false, kiểu int thì là những con số, ...
Khi bạn khai báo như sau sẽ bị báo lỗi:
- int a = null;
- bool b = null;
- public int GetNull()
- {
- return null;
- }
- public static void XuLy(int a, int b)
- { }
- XuLy(1, null);
Khai báo như sau sẽ không còn báo lỗi nữa:
- int? a = null;
- bool? b = null;
- public int? GetNull()
- {
- return null;
- }
- public static void XuLy(int a, int? b)
- { }
- Chỉ có thể gán kiểu dữ liệu not null cho kiểu dữ liệu có thể null chứ ngược lại thì không.
- Ví dụ có thể gán:
- int a = 5;
- int? b = a;
- int? a = 5;
- int b = a;
- public int Test()
- {
- return GetNull();
- }
- public int? GetNull()
- {
- return null;
- }