在什么情况下,C# 'is' 关键字会引发异常?



我在我们的代码库中偶然发现了类似以下内容的内容......

    protected bool IsThing(object item)
    {
        try
        {
            return item is Thing;
        }
        catch (Exception)
        {
            return false;
        }
    }

我正在尝试弄清楚是否有任何情况会访问该catch

is 关键字从不引发异常。这是一种无用的方法,您应该将其删除。

if(IsThing(item)) {...}可以而且应该if(item is Thing) { ... }

"is"关键字的全部意义在于不会发生异常!http://msdn.microsoft.com/en-us/library/scekt9xw.aspx

相关内容

最新更新