整理下最近用到的C# 运算符
1. 可空修饰符 ?
引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空。
int? num = null; // 使用 ? 来替代 num == null 的判断
2.三元(运算符)表达式(?: )
三元运算符也是我们平时最常用的一种
d = a ? b : c
表示如果表达式a 为true,则返回b;如果a为false,则返回c,省略if{ }else{ }的简单形式。
3.空合并运算符(??)
用于定义可空类型和引用类型的默认值。如果此运算符的左操作数不为null,则此运算符将返回左操作数,否则返回右操作数。
string a = null; string b = "您好"; string c = “hellow”;
a??b 因为a为null,所以返回b的值。而对于下面这种形式,会默认转换为 a??(b??c)的形式,所以得到的结果是 “hellow”。
var st = a ?? b??c;
4.NULL检查运算符(?.)
当需要获取一个数据中的某个值时,如果不进行NULL检查,必然是不安全的,作为一个偷懒的程序,最先想到的就是使用(?.)
string str = null;
var s3 = str?.GetType();
5 NULL检查运算符(?[])
int[] num = null;
var s1 = num?[1];
可以自动检测进行NULL检测,不过在使用时要注意数组越界问题。
int[] nums2 = { 3, 6, 92, 8 };
var s2 = nums2 ?[8];