本文介绍了(此== NULL)在C#!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
由于被固定在C#4中的错误,下面的程序打印真正
。 (试着在LINQPad)
无效的主要(){新的派生(); }
类基地{
公共库(Func键<串GT; valueMaker){Console.WriteLine(valueMaker()); }
}
类派生:基{
串CheckNull(){回报?我是NULL+(这== NULL); }
公共派生():基座(()=> CheckNull()){}
}
在VS2008在Release模式,它抛出一个InvalidProgramException。 (在调试模式下,它工作正常)
在VS2010 Beta 2中,它不编译(我没有尝试测试版1);我了解到,艰难地
有没有其他办法让此== NULL
纯C#
解决方案
此观察已经张贴在计算器中的更早。
的的表示根据规范(第7.5.7),你不应该能够访问这个
在这种情况下,并在C#3.0编译器有能力这样做是一个错误。 C#4.0编译器根据该规范行为正确(即使在Beta 1中,这是一个编译时错误):
这篇关于(此== NULL)在C#!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!