在c#中使用隐式类型的可空变量?

use*_*468 7 c# var nullable .net-3.5

无论如何,var是否可以为可空类型?

这隐式地将i类型化为int,但是如果我想要一个可以为空的int呢?

var i = 0;

为什么不支持这个:

var? i = 0;

mqp*_*mqp 5

为什么要支持呢?如果这就是你的意思,你应该var i = (int?)0;这样说。

(好吧,你可能应该只说int? i = 0,但对于更复杂的类型等)


And*_*are 5

var由赋值右侧的表达式或常量隐式输入. var本身并不是一种类型,因此Nullable<var>是不可能的.

  • 是的,但他们可以做一些经典的语法糖魔术,在哪里`var?i = 0` 编译为 `var i = (int?)0`,因此对我们来说更容易输入,并且对他们来说应该很容易实现。比完全重做 `var` 以使其成为一种类型更容易 (2认同)