對於如何正確的對型別實現轉型也是程式設計師必須掌握的。對於fcl(framework class library,即framework類庫。)提供的型別進行轉型時,都應該使用fcl提供的轉型方法。
包括:使用型別的轉型運算子。
使用型別的轉型運算子,其實就是使用型別內部的乙個方法。轉換運算子分為兩類:隱式轉換和顯示轉換(強制轉換)。基元型別普遍都提供了轉換運算子,如:
int i=0;
float j=0;
j=i; //隱式轉換
i=(int)j; //顯示轉換
所謂基元型別,是指編譯器直接支援的資料型別,包括sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double、bool、decimal、object、string。
使用者自定義的型別也可以通過過載轉換運算子的方式提供這一類轉換,但是不建議這麼做,破壞物件導向原則。
使用型別內建的parse、tryparse,或者tostring、todouble等方法。
在fcl中,如果某個類經常需要進行轉型操作,型別自身則會帶有一些轉型方法,比如從string轉型為int,int本身就提供了parse和tryparse方法。
可以使用如system.convert類、system.bitconvert類來進行型別轉換。
convert類提供了將乙個基元型別轉換為其他基元型別的方法,如toboolean、tochar等。
bitconvert類提供了基元型別與位元組陣列之間相互轉換的方法。
使用clr支援的型別。
clr支援的型別,其實就是基類和子類之間的相互轉換。
// animal是基類,dog是子類
animal animal;
dog dog=new dog();
animal=dog; //隱式轉換
dog=(animal)animal; //必須存在顯示轉換
2 最好使用C 轉型操作符
舊式的c轉型方式,幾乎允許你將任何型別轉換為任何其它型別,有其自身的缺陷,表現在以下兩方面 不能更精確地指明其轉型的意圖。如將乙個pointer to base class object 轉型為乙個pointer to derived class object 改變乙個物件的型別 和將乙個point...
條款2 最好使用c 轉型操作符
c轉型方式有兩個缺點,一是它幾乎允許將任何型別轉化為任何其他型別,二是它的語法結構難以辨識。為了解決c舊式轉型的缺點,c 匯入4個新的轉型操作符。1.static cast expression static cast基本上擁有與c舊式轉型相同的威力與意義,以及相同的限制。double b 10 i...
VS恢復預設設定的2種方法
亮術網 2013 07 27 本網原創 如果vs出現問題或設定變亂,可以通過恢復預設設定使之回到安裝成功時的狀態,從而解決出現的問題。vs恢復預設設定的方法有2種,分別是 通過 匯入和匯出設定 實現和通過命令實現。1 快捷步驟 工具 匯入和匯出設定 重置所有設定 下一步 選擇 是否儲存當前設定 下一...