相关疑难解决方法(0)

给定null时,为什么is运算符返回false?

在我看来,is运营商有点不一致.

bool Test()
{
    // Returns false, but should return true.
    return null is string;
}
Run Code Online (Sandbox Code Playgroud)

一个人希望该null值属于任何引用(或可空)类型.事实上,C#语言规范说明了支持这种假设的东西,例如(6.1.6隐式引用转换):

隐式引用转换是:
...
•从null文本到任何引用类型.

说明(7.10.10 is运算符)中的is运营商开始通过说表达(E is T)将导致真正的当从引用转换ET存在的,但随后笔者通过时明确排除的情况下继续Enull文字或具有null价值.

他们为什么这样做?这对我来说似乎违反直觉.

c#

131
推荐指数
6
解决办法
2万
查看次数

标签 统计

c# ×1