2016-02-19 26 views
0

说我有什么可空== null并且nullable.hasvalue之间的差额(如果有的话)

int? x = SomeFunc(); 

我进入的习惯说法

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

的但代码分析工具headslapped我因为这样说,这两个条件是相同的。我看了看,其实他们是

也就是说,如果

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

那么,为什么同样的事情测试的2种方式?我错过了一些细微差别吗?

+1

我想你的意思是'x.HasValue // false' – userSteve

回答

0

这两者之间没有区别。 它只是约定的问题。

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

+0

这些之间没有区别。上面的问题已经被少数用户在stackoverflow上提出。 http://stackoverflow.com/questions/17783929/c-sharp-hasvalue-vs-null –

相关问题