相关疑难解决方法(0)

为什么null需要显式类型转换?

以下代码无法编译:

//int a = ...
int? b = (int?) (a != 0 ? a : null);
Run Code Online (Sandbox Code Playgroud)

为了编译,需要将其更改为

int? b = (a != 0 ? a : (int?) null);
Run Code Online (Sandbox Code Playgroud)

由于这两个b = nullb = a是合法的,这是没有意义的我.

为什么我们不得不强制null转换为一个int?为什么我们不能简单地为整个表达式提供一个显式类型转换(我知道在其他情况下可能)?

.net c# null casting

21
推荐指数
3
解决办法
2599
查看次数

标签 统计

.net ×1

c# ×1

casting ×1

null ×1