空类型上的c#相等运算符

空类型上的c#相等运算符,c#,equality,nul,C#,Equality,Nul,在c#6.0教程中,它说:提升的相等运算符处理空值就像引用类型一样。这意味着两个空值相等: Console.WriteLine ( null == null); // True Console.WriteLine((bool?)null == (bool?)null); // True “当我在IDE中尝试第一个express时,它无法编译,”他抱怨道 不确定原因是什么?这是哪个IDE?那段代码对我来说编译得很好。似乎与IDE有关。。在LINQPadAs中工作正常因为它似乎与当前的编译器一

在c#6.0教程中,它说:提升的相等运算符处理空值就像引用类型一样。这意味着两个空值相等:

Console.WriteLine ( null == null); // True 
Console.WriteLine((bool?)null == (bool?)null); // True
“当我在IDE中尝试第一个express时,它无法编译,”他抱怨道


不确定原因是什么?

这是哪个IDE?那段代码对我来说编译得很好。似乎与IDE有关。。在LINQPadAs中工作正常因为它似乎与当前的编译器一起工作,您的编译器似乎在C#6或更高版本上运行不正常。@DaisyShipton我正在使用Rider 2017.3如何找出我正在使用的C#版本编译?谢谢。听起来像是IDE中的一个bug,是的。我很惊讶,如果编译时出现错误,它会让您运行它。这段代码使用C#2和C#5编译器以及Roslyn进行编译。