null的使用:
引用类型可以直接赋值null
string str1 = null;
没有默认值:
string str2;
值类型不能直接赋值null类型:
给值类型赋值null
方式一:Nullable<int> intNumber = null;
方式二:int? intNumber1 = null
null和 字符串空值 和 字符串空格 的区别:
- null 是没有创建内存空间的
- 字符串空值为"" 或者string.Empty 实际上都会分配空间
- 字符串空格" " 会分配空间 空格也是acsii 对应的符号
单问号(?):
单问号用于对int,double,bool等无法直接赋值为null的数据类型进行null的赋值,意思是对这个数据类型是Nullable类型。
双问号(??)(合并运算符):
Null 合并运算符用于定义可空类型和引用类型的默认值。Null 合并运算符为类型转换定义了一个预设值,以防可空类型的值为 Null。Null 合并运算符把操作数类型隐式转换为另一个可空(或不可空)的值类型的操作数的类型。
作用:用于判断一个变量在为null的时候返回一个指定的值