一、c#型別的轉換
在c#中型別的轉換分兩種:顯式和隱式,基本的規則如下:
1、基類物件轉化為子類物件,必須顯式轉換,規則:(型別名) 物件。
2、值型別和引用型別的轉換採用裝箱(boxing)或拆箱(unboxing).
3、子類轉化為基類物件。
4、基本型別互相之間轉化可以用covent類來實現。
5、字串型別轉換為對應的基本型別用parse方法,除了string型別外其他的型別都可以用parse方法。
6、用gettype可以取得物件的精確型別。
7、子類轉化為基類,採用隱式轉換。
二、c#中的is
檢查乙個物件是否相容於其他指定的型別,並返回乙個bool值,如果乙個物件是某個型別或是其父型別的話就返回為true,否則的話就會返回為false。永遠不會丟擲異常
如果物件引用為null,那麼is操作符總是返回為false,因為沒有物件可以檢查其型別。
C 中資料型別的安全轉換(is,as)
下面 中,不能裝箱,在強制型別轉換時出錯,因為之前 c 是 class 型別,而卻要把它轉換為 int 型別,這是不可以的。雖然編譯器能通過編譯,但是 runtime 在執行時會丟擲 invalidcastexception 異常。view plain circle c newcircle 8 ob...
C 中資料型別的安全轉換(is,as)
原文 c 中資料型別的安全轉換 is,as 下面 中,不能裝箱,在強制型別轉換時出錯,因為之前 c 是 class 型別,而卻要把它轉換為 int 型別,這是不可以的。雖然編譯器能通過編譯,但是 runtime 在執行時會丟擲 invalidcastexception 異常。circle c new...
C 中資料型別的安全轉換(is,as)
原文 c 中資料型別的安全轉換 is,as 下面 中,不能裝箱,在強制型別轉換時出錯,因為之前 c 是 class 型別,而卻要把它轉換為 int 型別,這是不可以的。雖然編譯器能通過編譯,但是 runtime 在執行時會丟擲 invalidcastexception 異常。1 2 3 4 circ...