c# – “是”运算符编译时警告

reference

The is keyword causes a compile-time warning if the expression is
known to always be true.

我试图创建一个例子:

class MyClass
{
    public void method(MyClass c)
    {
        if (c is MyClass)
        {
            //...
        }

        if (c is Object)
        {
            //...
        }
    }
}

但我没有得到任何警告.为什么?

有人能告诉我一个例子,我得到一个警告(因为表达式总是如此)?

它适用于虚假.

解决方法:

如果值为null,则is运算符将返回false,因此如果调用method(null),则不会输入if-block.

但是,如果MyClass实际上是一个结构(即不可为空),则会产生警告.

上一篇:Mysql:添加外键不会在MyISAM表上给出警告/错误


下一篇:android – 缺少多维数组的大括号