nullable == null 和 nullable.hasvalue 之间有啥区别(如果有的话)[重复]
Posted
技术标签:
【中文标题】nullable == null 和 nullable.hasvalue 之间有啥区别(如果有的话)[重复]【英文标题】:whats the difference (if any) between nullable == null and nullable.hasvalue [duplicate]nullable == null 和 nullable.hasvalue 之间有什么区别(如果有的话)[重复] 【发布时间】:2016-06-01 14:50:11 【问题描述】:说我有
int? x = SomeFunc();
我养成了说的习惯
if(x != null && x.HasValue)
// do somethign with x.Value;
但是一个代码分析工具让我觉得这两个条件是一样的。我看了看,其实他们是
如果
int? x = null;
x==Null; // true
x.HasValue // false
那么为什么要对同一事物进行两种测试呢?有没有我遗漏的细微差别?
【问题讨论】:
我想你的意思是x.HasValue // false
x==Null 在 OO 概念中是错误的,但它可以工作,因为 Nullable这两者没有区别。 这只是约定俗成的问题。
只需选择一个(你喜欢的)并坚持下去。
【讨论】:
这些没有区别。上面的问题已经被少数用户在***上提出过。 ***.com/questions/17783929/c-sharp-hasvalue-vs-null以上是关于nullable == null 和 nullable.hasvalue 之间有啥区别(如果有的话)[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Code First的[Required]与Nullable Types的比较
nullable == null 和 nullable.hasvalue 之间有啥区别(如果有的话)[重复]