我总是用Nullable<>.HasValue
,因为我喜欢它的语义.然而,最近我在别人的现有代码库上工作,他们只使用Nullable<> != null
.
是有理由使用其中一个而不是另一个,还是纯粹的偏好?
int? a; if (a.HasValue) // ...
与
int? b; if (b != null) // ...
我总是用Nullable<>.HasValue
,因为我喜欢它的语义.然而,最近我在别人的现有代码库上工作,他们只使用Nullable<> != null
.
是有理由使用其中一个而不是另一个,还是纯粹的偏好?
int? a;
if (a.HasValue)
// ...
与
int? b;
if (b != null)
// ...
编译器将null
个比较替换为对HasValue
的调用,因此没有真正的区别.只要做对你和你的同事更具可读性/更有意义的事情就行了.