C# 5.0 规范在第 7.1.3 章中阅读
https://msdn.microsoft.com/en-us/library/ms228593.aspx
false
如果一个或两个操作数是,则提升的运算符产生值null
。
但是测试以及这个 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
。
这是有道理的,但它与规范中的句子相矛盾,不是吗?