次の方法で共有


CType 関数 (Visual Basic)

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

CType(expression, typename)

指定項目

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

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

解説

ヒントヒント

また、型変換を実行するには、次の関数を使用する:

  • 型変換は特定のデータ型への変換を実行 CByte、CDblと CInt などの機能します。詳細については、「データ型変換関数 (Visual Basic)」を参照してください。

  • DirectCast 演算子 (Visual Basic) または TryCast 演算子 (Visual Basic)。これらの演算子は 1 種類がを継承するように要求します。または他の型を実装します。これらは Object のデータ型との間で変換を行うとき CType よりも多少のパフォーマンスが向上できます。

CType は、インラインでコンパイルされます。つまり、変換コードは、式を評価するコードに含まれます。は、実行速度が向上する変換を実行するためにプロシージャへ場合によってはありません。

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

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

expression または typename のデータ型がクラス独自に定義した構成すると、変換演算子とそのクラスまたは構造体の CType を定義できます。これにより、CType はオーバーロードされた演算子として機能します。この場合、スローできる例外を含む、クラスまたは構造体との間で変換の動作を制御できます。

オーバーロード

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

動的オブジェクトの変換

動的オブジェクトの型変換は TryConvert または BindConvert のメソッドを使用するユーザー定義の動的変換によって実行されます。動的オブジェクトを使用する場合は、動的オブジェクトを変換するには CTypeDynamic のメソッドを使用します。

使用例

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)」を参照してください。

参照

処理手順

方法: 変換演算子を定義する (Visual Basic)

関連項目

データ型変換関数 (Visual Basic)

変換関数 (Visual Basic)

OverflowException

InvalidCastException

Operator ステートメント

概念

.NET Framework における型変換