2016-11-08 14 views
-5

私は、null値をテストするのは本当に好奇心n.HasValue && n.Value > 0を知っているが:nullが負か正ですか。

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

のでnullオブジェクトは、C#での正または負のですか?

+11

どちらも。そしてあなたが見ている行動はそれを実証しているようです。 – David

+0

あなたのテストが証明していません。落とし穴: – corn3lius

+1

' Console.Write(nは== 0)を試してみてください。 Nullは、その名前のように、何もありません。 'null == 0' ==> falseです。 –

答えて

4

n > 0n.HasValueはfalseを返しますので、偽生成する、n.HasValue && n.Value > 0にコンパイルされます。 HasValueが常に最初に来るので、他のcondtionと同じです。

関連する問題