可能重复:
为什么这段代码在 C# 中无效?
条件运算符不能隐式转换?
如果我执行以下操作:
bool someBool = false;
uint value = 0;
这些很好:
value = (someBool) ? 0 : (uint)1;
value = (someBool) ? (uint)0 : 1;
但这不是:
value = (someBool) ? 0 : 1;
当我可以轻松地说:为什么我不能使用最后一个:
value = 0;
value = 1;
三元运算符的类型是如何确定的?