C#中 ?号的几个用法
一、常用的三元表达式(三元运算符 ?)
int a = 2;
int b = 5;
string result = a > b ? "大于" : "小于";
Console.WriteLine(result);
//输出:小于
解读:string result=a>b?"大于" : "小于";
a大于b吗?true输出 “大于”,false输出 “小于”
二、用于定义可空类型(可空类型修饰符 ?)
int? num=null;
解读:定义了可为空值的int类型,如果你写成 int num=null;系统就会报错,因为int的值是整数,不能为null
三、NULL检查运算符 ?.
int? id = student?.FirstOrDefault()?.Id;
解读:数据查询时,经常需要做判空处理,这里直接简化了,加了一个?号表示不为空时才执行下面的代码
四、空合并运算符 ??
var result=a??b
解读:当a不为空时,返回a。如果a为空,就返回b