合并运算符与三元运算符

时间:2015-11-16 15:55:10

标签: c#

int? x = null;
int z = x ?? 10; //This works perfectly
z = (x != null) ? x : 10; //Won't compile , z must be a nullable type

这两个运营商之间的差异是什么?为什么编译器不抱怨合并运算符? z 变量仍然不是可空类型,如果 x 不为null,则可以将其分配给 z 。为什么这种行为与三元运算符不同?有趣。

0 个答案:

没有答案