2

可能重复:
可空类型和三元运算符:为什么是`?10:null`禁止?

我想根据情况为 x (可以为空的整数)分配一个值或空值(您可以在下面看到)

int? x;
x = stackoverflow.ToString() != "" ? int.Parse(stackoverflow.ToString()) : null;

但它给出了以下错误。

Type of conditional expression cannot be determined because there is no implicit conversion between 'int' and '<null>' 

为什么?

4

2 回答 2

4

将 int 转换为可为空的 int。

x = stackoverflow.ToString() != "" ? 
       (int?)int.Parse(stackoverflow.ToString()) : null;
于 2012-10-11T19:10:47.500 回答
1

试试这个:

x = stackoverflow.ToString() != "" ? int.Parse(stackoverflow.ToString()) : (int?) null;

看看这是否有效。我没有测试它,因为我不知道stackoverflow应该是什么

于 2012-10-11T19:12:26.810 回答