強型別&弱型別

經常聽到許多技術文章提到"轉成強型別"等字樣,

其實蠻多書都是輕輕帶過去,有看沒有懂

趁有空大概用我理解的方式紀錄一下

所謂的『強型別』,就是說要使用的變數或物件,都要強制給予它一個型別;或者是針對需要用到的函式(方法)給予相對應的型別。

例如

int  age=30;

MessageBox.Show(age);    //X錯誤!!!  需傳入string型態

MessageBox.Show(age.toString());    //O 正確,因有轉型為該函式所需的string型別


而『強型別』的相反就是『弱型別』

意思很簡單,就是不賦予特定的型別

但根據MSDN上的說明

使用強型別有以下幾點好處:
·         IntelliSense® 能夠支援變數。這能讓您在輸入程式碼時看到變數的屬性及其他成員。
·         可以利用編譯器型別檢查,這能找出可能因錯誤 (例如溢位) 而在 Run Time 失敗的陳述式。這也能夠偵測在不支援變數的物件上所進行的方法呼叫。
·         執行程式碼的速度較快。



所以囉,除非有特定需求,不然建議都使用強型別比較好。

留言