可空类型修饰符?
C#中的值类型指的是结构体类型和枚举类型, 它们不允许被赋予null值,因为null一般是赋值给引用。 因此C#在此基础上,引入了可空的值类型:
string str=null;是正确的。
int i=null;编译器将报错。int ? i=null;//表示可空的整型
null检查运算符?
如果a是null,那么a.b和a[b]都会抛出空指针异常
而a?.b和a?[b]都返回null,而不会抛出异常
空合并运算符 ??
如:a??b 当a为null时则返回b,a不为null时则返回a本身