変換時の値の変化

更新 : 2007 年 11 月

値型からの変換では、変換元の値のコピーが変換先に格納されます。ただし、このコピーは変換元の値の正確なイメージではありません。変換先のデータ型では値の格納方法が異なり、実行される変換の種類によっては、表現される値も変化する場合があります。

拡大変換と縮小変換での変化

縮小変換では、変換先にコピーされた値は変化し、場合によっては変換元に含まれていた情報が失われます。たとえば、小数値は整数型に変換されると丸められ、数値型は Boolean に変換されると True または False のいずれかになります。

拡大変換では、元の値は保持されますが、その表現は変化する場合があります。表現が変化するのは、整数型から 10 進型 (Decimal)、または Char 型 (Char) から文字列型 (String) に変換する場合です。

最初の変換元の値が変換の結果変化することはありません。

参照型変換での変化

参照型からの変換では、値へのポインタだけがコピーされます。値自体のコピーや変更は行われません。変化する可能性があるのは、ポインタを保持する変数のデータ型だけです。次の例では、データ型が派生クラスから基本クラスに変換されますが、両方の変数が指すことになるオブジェクトは変化しません。

' 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

参照

処理手順

方法 : Visual Basic でオブジェクトを別の型に変換する

概念

拡大変換と縮小変換

暗黙の型変換と明示的な型変換

文字列とその他の型との変換

配列の変換

Visual Basic での型宣言を省略したプログラミング

参照

データ型の概要 (Visual Basic)

データ型変換関数

その他の技術情報

Visual Basic における型変換

構造体 : 独自のデータ型