轉換期間值的變更 (Visual Basic)
從實值型別進行轉換會在轉換目的端儲存一份來源值的複本。 但這並不是來源值的精確複本。 根據所執行的轉換種類,目的資料型別會以不同的方式儲存值,甚至會變更表示值的方式。
擴大和縮小轉換期間的變更
「縮小轉換」(Narrowing Conversion) 可能會遺漏資訊而變更目的端的原始值。 例如,在轉換為整數類資料型別 (Integral Type) 時會對分數值四捨五入,而轉換為 Boolean 的數字型別會精簡為 True 或 False。
「擴展轉換」(Widening Conversion) 會保留原始值,但可能會變更其表示方法。 這會在您從整數類資料型別轉換為 Decimal 或從 Char 轉換為 String 的時候發生。
原始值不會因轉換而變更。
參考型別轉換期間的變更
從「參考型別」(Reference Type) 進行的轉換只會複製值的指標。 在任何情況下都不會複製或變更值本身。 唯一會變更的就是存放指標的變數的資料型別。 在以下範例中,資料型別從衍生類別轉換為其基底類別,但轉換後兩變數所指向的物件並未變更。
' Assume class cSquare inherits from class cShape.
Dim shape As cShape
Dim square As cSquare = New cSquare
' The following statement performs a widening
' conversion from a derived class to its base class.
shape = square
請參閱
工作
HOW TO:在 Visual Basic 中將物件轉換成其他型別