什么是nullable == null和nullable.hasvalue之间的差异(如果有的话)

时间:2016-02-19 21:26:26

标签: c# nullable

说我有

int? x = SomeFunc();

我养成了说

的习惯
if(x != null && x.HasValue)
{
   // do somethign with x.Value;
}

但是代码分析工具让我这么做,说这两个条件是相同的。我看了,事实上他们是

即如果

int? x = null;
x==Null; // true
x.HasValue // false

那么为什么有两种方法可以测试相同的东西呢?我错过了一个微妙的差异吗?

1 个答案:

答案 0 :(得分:1)

这两者之间没有区别。 这只是惯例的问题。

选择一个(你喜欢的)并坚持下去。