私はnull許容型を学習し始め、次の動作に遭遇しました。
null可能なintを試しているときに、比較演算子が予期しない結果を返すことがわかりました。たとえば、次のコードでは、私が取得する出力は"both and 1 is equal"です。「null」も出力しないことに注意してください。
int? a = null;
int? b = 1;
if (a < b)
Console.WriteLine("{0} is bigger than {1}", b, a);
else if (a > b)
Console.WriteLine("{0} is bigger than {1}", a, b);
else
Console.WriteLine("both {0} and {1} are equal", a, b);
負でない整数がnullより大きくなることを期待していました。ここに何か不足していますか?
5
これは、いくつかのケースを確認するための小さな.NET Fiddleです。
—
Uwe Keim 2017