2011-05-18 74 views
3

可能重複:
Direct casting vs 'as' operator?
casting vs using the 'as' keyword in the CLR如果對象是SOMETYPE與對象SOMETYPE

我知道我能做到以下幾點:

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

,也:

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

如果我假設我只是在另一個變量中引用someObject,是比其他更好嗎?

編輯:通過更好,我的意思遵循約定,性能,錯誤的機會和可讀性。

+1

我敢肯定,我們已經不止一次...... – 2011-05-18 10:47:33

+0

@Jon Skeet @Brain Rasmussen我很抱歉,他們沒有出現在「相關問題」和我的搜索。 @digEmAll我對C#有點新,如果我使用了一個不可用的Bar,我不能使用第二個嗎? – 2011-05-18 10:50:35

回答

1

第一個版本有兩個檢查,而第二個檢查只有一個檢查。
- >第二個是可取的。

相關問題