// 带 ? 的表达式
// 1. 三元表达式
// 2. ?? 双问号
// obj1 ?? obj2 如果 obj1 为 空(null) 返回 obj2
// Configure the HTTP request pipeline.
// 3. 让值类型变成可以为空的类型
int a = 0;
int? x = null; // ? 说明 x 可以为 null
// 等价于
Nullable<int> y = null; // 声明一个int类型可以为null的 y
if(x.HasValue) { // HasValue 拿到值 也是说明x不是 null
var xx = x.Value;
}
// 4. ?. 可空操作符
// x?.ToString(); 如果 x 不是 null 才会使用 ToString() 方法 x 右值就会直接调用 ToString方法
// ps: js 中的可控操作符 使用单个 ? item?.Exit();
// 方法的调用
// 1. 方法名()
// 2. 方法名.Invoke(参数)
// 5. ??= 可空赋值运算
var? name = null;
// 如果name是 null 就会给name赋值 default
var result = name ??= "default";