1

要检查对象是否属于给定类型C#

if(myObj is MyClass)
{
     //....
}

要检查它是否不是给定类型:

if(!(myObj is MyClass))
{
     //....
}

有没有更易读的方式来表达相同的逻辑?

例如,如果我可以写这个,它会更容易阅读。

if(myObj is not MyClass)
{
     //....
}
4

2 回答 2

6

您可以尝试使用像这样的一些扩展方法,只是为了使其更具可读性

public static class ObjectExtension
{
    public static bool IsNot<T>(this object o)
    {
        return !(o is T);
    }
}
//Use it
if(myObj.IsNot<MyClass>()){
  //...
}
于 2013-09-19T22:15:17.183 回答
4

您可以采用相同的方法并使其更详细:

If (myObj is MyClass == false) ;
于 2013-09-19T22:15:18.510 回答