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实际上是一个结构(即不可为空),则会产生警告.