以下代码运行良好。在空合并
+
之后评估加法 ??
背后的逻辑是什么?这怎么可能?文档在哪里解释?
int? tNullable = 2;
public int TestNullCoalescing()
{
int t = 7;
t = tNullable + 1 ?? t;
Debug.Assert(t == 3);
tNullable = null;
t= 7;
t = tNullable + 1 ?? t;
Debug.Assert(t == 7);
参考资料:
因为
null + 1
仍然是null
(甚至没有计算+ 1
),??
运算符直接返回7
。