【发布时间】:2017-07-10 11:50:36
【问题描述】:
在编写涉及手动类型检查的测试时,我发现null 不会评估为Nullable<> 类型的实例,例如对于Nullable<int> 类型(与int? 相同),下面的说法是错误的
null is int?
将null 分配给int? 时有效。为什么会这样?
【问题讨论】:
-
由于隐式转换,您可以将 null 分配给可为 null 的 int。但它们不是同一类型。
-
添加@NtFreX 评论:
is检查类型,== 检查相等性。这句话是正确的:int? x; if(x == null) -
也许您可以向我们解释您要解决的潜在问题,我们可以协助解决这个问题@PBozo?
-
整数?可以为空。 int 对空值无效。