nullable == null 和 nullable.hasvalue 之间有什么区别(如果有的话)
whats the difference (if any) between nullable == null and nullable.hasvalue
说我有
int? x = SomeFunc();
我养成了说
的习惯
if(x != null && x.HasValue)
{
// do somethign with x.Value;
}
但是一个代码分析工具给我打了个耳光,说这两个条件是一样的。我看了看,实际上他们是
即如果
int? x = null;
x==Null; // true
x.HasValue // false
那么为什么要用两种方法测试同一件事呢?我遗漏了细微的差别吗?
这两者没有区别。
这只是约定俗成的问题。
只挑一个(你喜欢的)坚持下去。
说我有
int? x = SomeFunc();
我养成了说
的习惯if(x != null && x.HasValue)
{
// do somethign with x.Value;
}
但是一个代码分析工具给我打了个耳光,说这两个条件是一样的。我看了看,实际上他们是
即如果
int? x = null;
x==Null; // true
x.HasValue // false
那么为什么要用两种方法测试同一件事呢?我遗漏了细微的差别吗?
这两者没有区别。 这只是约定俗成的问题。
只挑一个(你喜欢的)坚持下去。