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