可空类型和三值运算符:为什么‘?10:空’是被禁止的?我只是遇到了一个奇怪的错误:private bool GetBoolValue(){
//Do some logic and return true or false}然后,在另一种方法中,如下所示:int? x = GetBoolValue() ? 10 : null;简单,如果方法返回true,则将10赋值给Nullableint否则,将空赋值给可空INT。但是,编译器会抱怨:错误1不能确定条件表达式的类型,因为在int和<null>.我要疯了吗?
3 回答
大话西游666
TA贡献1817条经验 获得超14个赞
GetBoolValue() ? 10 : null
10
int
int?
null
null
int?
null
int
int?
(#2, #3).
GetBoolValue() ? (int?)10 : null // #1 GetBoolValue() ? 10 : (int?)null // #2 GetBoolValue() ? 10 : default(int?) // #3
千万里不及你
TA贡献1784条经验 获得超9个赞
int? x = GetBoolValue() ? 10 : (int?)null;
10
int
int
int
null
null
Nullable<int>
Nullable<int>
10
int?
- 3 回答
- 0 关注
- 322 浏览
添加回答
举报
0/150
提交
取消