说我有
int? x = SomeFunc();
我养成了说
的习惯if(x != null && x.HasValue)
{
// do somethign with x.Value;
}
但是代码分析工具让我这么做,说这两个条件是相同的。我看了,事实上他们是
即如果
int? x = null;
x==Null; // true
x.HasValue // false
那么为什么有两种方法可以测试相同的东西呢?我错过了一个微妙的差异吗?
答案 0 :(得分:1)
这两者之间没有区别。 这只是惯例的问题。
选择一个(你喜欢的)并坚持下去。