null 表示一个空引用,不指向任何对象,是引用类型变量的默认值,普通的值类型不能为空。c# 2.0后引入可空类型。
null 不同于0,“”,string.Empty等,其是指没有引用实例对象,引用无效。
可空类型:Nullable 实现了值类型为空;
https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/nullable-types/index
声明:
Nullable<int> a = null;
int? a = null;
??运算符:
string name = obj==null ? string.Empty : obj.ToString();
string name = (obj??string.Empty).ToString();
string name = (obj??“default”);
将空值判断简化为表达式型,可以减少相关判断语句,临时变量乃至方法的使用;
用途:
1. 为值类型添加了一种“可空性”,比如bool? 包含了true,false,null三种状态等等;
2. 可以与数据库中的可空字段进行便捷的交互;
(备注1)以上为c#环境
在 C中: #define Null (void*)0;
在 C++中:#define Null 0;
(备注2)Null在环境中基本都有定义,Nul表示’\0’,是空操作字符,字符串结束的标志位,一般未先定义。