C#5.0仕様は、一または両方オペランドがnull
ある場合持ち上げオペレータが値false
を生成章7.1.3比較する2つのヌルnullables
https://msdn.microsoft.com/en-us/library/ms228593.aspx
を読み出します。
しかしテストし、このMSDNリンク
http://msdn.microsoft.com/en-us/library/2cf62fcy(v=vs.100).aspx
int? num1 = 10;
int? num2 = null;
// Change the value of num1, so that both num1 and num2 are null.
num1 = null;
if (num1 == num2)
{
// The equality comparison returns true when both operands are null.
Console.WriteLine("num1 == num2 returns true when the value of each is null");
}
/* Output:
* num1 == num2 returns true when the value of each is null
*/
両方null
戻りtrue
二つnull許容値を比較することを示しています。
それは意味がありますが、仕様から文に矛盾していますか?
これは7.3.7章にあります。これは '2項演算子'のためのものです。次のセクションでは、 '=='を含む ''等価演算子 'について説明します。 – Gavin
[Null条件演算子はboolではなくboolに評価されますか?期待どおり](http:// stackoverflow。com/questions/37277102/null-conditional-operator-bool-to-boolを期待どおりに評価する) –