2016-11-08 52 views
-5

我知道n.HasValue && n.Value > 0,但真的很好奇,測試空值,所以:爲空陰性或陽性?

decimal? n = null; 
Console.Write(n>0); // false 
Console.Write(n<0); // false 

所以是null對象正或負的C#?

+11

都不是。你看到的行爲似乎證明了這一點。 – David

+0

既不像您的測試證明的那樣。 – corn3lius

+1

嘗試'Console.Write(N == 0);'和驚訝... –

回答

4

n > 0編譯爲n.HasValue && n.Value > 0,其產生假的,因爲n.HasValue返回false。同任何其他condtion,因爲HasValue永遠是第一位。