.Net 中带有 ? 的运算符
// 带 ? 的表达式 // 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";