Tag: 可为空的

可空types和三元运算符:为什么? 10:null`被禁止?

我刚碰到一个奇怪的错误: private bool GetBoolValue() { //Do some logic and return true or false } 然后,在另一种方法,像这样的东西: int? x = GetBoolValue() ? 10 : null; 很简单,如果方法返回true,则将10赋给Nullable int x。 否则,将null分配给可为空的 int。 但是,编译器抱怨: 错误1无法确定条件expression式的types,因为int和<null>之间没有隐式转换。 我疯了吗?