对 C# 中的空合并运算符 (??) 有了以下理解。
int? input = -10;
int result = input ?? 10;//Case - I
//is same as:
int result = input == null? input : 10; // Case - II
而根据定义和用法,案例 I 和案例 II 是相同的。
令人惊讶的是,在 Case-I 中编译器能够隐式转换 int? 到 int 而在 Case-II 中它显示错误:'错误 1 无法隐式转换类型'int?' 'int'"
关于空合并运算符,我缺少什么?
感谢您的关注。