CType 関数

更新 : 2007 年 11 月

任意の式を、指定されたデータ型、オブジェクト、構造体、クラス、またはインターフェイスに明示的に変換し、その結果を返します。

CType(expression, typename)

指定項目

  • expression
    任意の有効な式。expression の値が typename で許可されている範囲内でない場合、Visual Basic が例外をスローします。

  • typename
    Dim ステートメントの As 句で有効な任意の式。つまり、任意のデータ型、オブジェクト、構造体、クラス、またはインターフェイスの名前を指定します。

解説

CType は、インラインでコンパイルされます。つまり、変換コードは、式を評価するコードに含まれます。変換を完了するためにプロシージャへの呼び出しを行わないようにすると、実行速度が向上することがあります。

Integer から Date など、expression から typename への変換が定義されていない場合、Visual Basic はコンパイル時のエラー メッセージを表示します。

実行時に変換が失敗すると、適切な例外がスローされます。縮小変換が失敗した場合、最もよくスローされるのは OverflowException です。変換が定義されていない場合、InvalidCastException が発生します。これは、たとえば expression が Object 型で、実行時の型が typename への変換を持たない場合に起こります。

expression または typename のデータ型が、定義したクラスまたは構造体の場合、そのクラスまたは構造体に CType を変換演算子として定義できます。これにより、CType はオーバーロードされた演算子として機能します。この方法を利用する場合、定義したクラスまたは構造体からの変換、またはこのクラスまたは構造体への変換の動作 (スローする例外など) を制御できます。

オーバーロード

CType 演算子も、コードの外部で定義されたクラスまたは構造体でオーバーロードできます。このようなクラスまたは構造体からの変換、またはこのクラスまたは構造体への変換を行う場合は、その CType 演算子の動作を確認してください。詳細については、「演算子プロシージャ」を参照してください。

使用例

CType 関数を使って、指定したデータ型に式を変換する例を次に示します。

Dim testNumber As Long = 1000
' The following line of code sets testNewType to 1000.0.
Dim testNewType As Single = CType(testNumber, Single)

参照

処理手順

方法 : 変換演算子を定義する

参照

データ型変換関数

変換関数 (Visual Basic)

OverflowException

InvalidCastException

Operator ステートメント