as 運算子的用法就像是轉型作業。 不過,如果無法轉換的話, as 則會傳回 null ,
另可搭配參考 is 運算子, 是用來判斷某物件是否為某指定型別
另外,這篇文章針對as運算子以及強制轉型的用法比較講得蠻詳細的
主要差別在於, as運算子當遇到無法成功轉型的物件時, 會傳回NULL值
但強制轉型則會拋出Exception, 且強制轉型需要額外判斷NULL的狀況,
因為當物件為NULL時 他等同可以強制轉型為任何形態, 所以不會拋出Exception
所以一般建議以as運算子來取代強制轉型的用法。除非要轉換的型別不可為null
EX: int型態, 才會建議用強制轉型,as運算子將會發生compile error
Refs:
沒有留言:
張貼留言