如果对象是某种类型,而对象是某种类型

本文关键字:类型 种类 对象 如果 | 更新日期: 2023-09-27 17:56:54

可能的重复项:
直接铸造与"作为"操作员?
强制转换与在 CLR 中使用"as"关键字

我知道我可以做到以下几点:

if(someObject is Bar)
{
    Bar b = (Bar)someObject;
    //Use b
}

以及:

Bar b = someObject as Bar;
if(b != null)
{
    //Use b
}

如果我假设我只是要在另一个变量中引用someObject,那么一个是否比另一个更可取?

编辑:最好,我的意思是遵循约定,性能,错误的机会和可读性。

如果对象是某种类型,而对象是某种类型

第一个版本有两个检查,而第二个版本只有一个检查。
--> 第二个更可取。