2015年1月18日 星期日

[C#] as 運算子 與 強制轉型 的比較

Share it Please
http://msdn.microsoft.com/zh-tw/library/cscsdfbt.aspx
as 運算子的用法就像是轉型作業。 不過,如果無法轉換的話, as 則會傳回 null ,




而不會引發例外狀況。

另可搭配參考 is 運算子, 是用來判斷某物件是否為某指定型別


另外,這篇文章針對as運算子以及強制轉型的用法比較講得蠻詳細的

主要差別在於, as運算子當遇到無法成功轉型的物件時, 會傳回NULL值  

但強制轉型則會拋出Exception, 且強制轉型需要額外判斷NULL的狀況, 

因為當物件為NULL時  他等同可以強制轉型為任何形態, 所以不會拋出Exception

所以一般建議以as運算子來取代強制轉型的用法。除非要轉換的型別不可為null  

EX: int型態, 才會建議用強制轉型,as運算子將會發生compile error


Refs:



沒有留言:

張貼留言

Followers

Follow The Author