我刚刚发现了一个奇怪的错误:
private bool GetBoolValue()
{
//Do some logic and return true or false
}
然后,在另一种方法中,像这样:
int? x = GetBoolValue() ? 10 : null;
很简单,如果方法返回true,将10赋值给Nullableint
x。否则,将null赋值给可以为空 int。然而,编译器抱怨:
错误1无法确定条件表达式的类型,因为在
int
和<null>
之间没有隐式转换。
我是不是疯了?