从reference开始:
如果表达式是
众所周知总是真实的。
我试着创造一个例子:
class MyClass
{
public void method(MyClass c)
{
if (c is MyClass)
{
//...
}
if (c is Object)
{
//...
}
}
}
但我没有收到任何警告。为什么?
有人能给我举个例子,让我得到一个警告吗(因为这个表达式总是正确的)?
这是假的。
最佳答案
如果值为is
,null
运算符将返回false,因此如果调用method(null)
,它将不会进入if
-块。
但是,如果MyClass
实际上是一个struct
(即不可为空),这将产生一个警告。