Freigeben über


CType-Funktion (Visual Basic)

Gibt das Ergebnis einer expliziten Konvertierung eines Ausdrucks in einen angegebenen Datentyp, ein Objekt, eine Struktur, Klasse oder Schnittstelle zurück.

CType(expression, typename)

Teile

  • expression
    Jeder gültige Ausdruck.Wenn der Wert von expression außerhalb des für typename zulässigen Bereichs liegt, löst Visual Basic eine Ausnahme aus.

  • typename
    Ein beliebiger Ausdruck, der innerhalb einer As-Klausel in einer Dim-Anweisung zulässig ist, d. h. der Name eines beliebigen Datentyps, eines Objekts, einer Struktur, einer Klasse oder einer Schnittstelle.

Hinweise

TippTipp

Sie können die folgenden Funktionen auch verwenden, um eine Typkonvertierung auszuführen:

CType wird inline kompiliert. Dies bedeutet, dass der Konvertierungscode Bestandteil des Codes für die Auswertung des Ausdrucks ist.In einigen Fällen gibt es keinen Aufruf einer Prozedur, um die Konvertierung zu erreichen, die Ausführung schneller macht.

Wenn keine Konvertierung von expression zu typename (beispielsweise, von Integer zu Date) definiert ist, zeigt Visual Basic eine Kompilierungsfehlermeldung an.

Wenn eine Konvertierung zur Laufzeit fehlschlägt, wird die entsprechende Ausnahme ausgelöst.Schlägt eine einschränkende Konvertierung fehl, resultiert dies meist in einem OverflowException-Fehler.Wenn die Konvertierung nicht definiert ist, InvalidCastException, in ausgelöst.Beispielsweise kann dies geschehen, wenn expression vom Typ Object ist und sein Laufzeittyp keine Konvertierung zu typename verfügt.

Wenn der Datentyp von expression oder von typename eine Klasse ist oder Sie strukturiert definiert haben, können Sie CType in dieser Klasse oder Struktur als Operator definieren.In diesem Fall verhält sich CType wie ein überladener Operator.Wenn Sie dies tun, können Sie das Verhalten von Konvertierungen in und aus der Klasse oder Struktur, einschließlich der Ausnahmen steuern, die ausgelöst werden können.

Überladen

Der Operator CType kann auch für eine Klasse oder Struktur überladen werden, die außerhalb Ihres Codes definiert ist.Wenn Ihr Code Konvertierungen in eine solche Klasse oder Struktur oder in umgekehrter Richtung durchführt, müssen Sie sicherstellen, dass Sie das Verhalten des betreffenden Operators CType verstehen.Weitere Informationen finden Sie unter Operatorprozeduren (Visual Basic).

Konvertieren von dynamischen Objekten

Typkonvertierungen für dynamische Objekte werden durch benutzerdefinierte dynamische Konvertierungen ausgeführt, die die TryConvert oder BindConvert-Methoden verwenden.Wenn Sie mit dynamischen Objekten arbeiten, verwenden Sie die CTypeDynamic-Methode, um das dynamische Objekt.

Beispiel

In diesem Beispiel wird die CType-Funktion dazu verwendet, einen Ausdruck in den angegebenen Datentyp zu konvertieren.

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

Weitere Beispiele finden Sie unter Implizite und explizite Konvertierungen (Visual Basic).

Siehe auch

Aufgaben

Gewusst wie: Definieren eines Konvertierungsoperators (Visual Basic)

Referenz

Funktionen für die Typkonvertierung (Visual Basic)

Konvertierungsfunktionen (Visual Basic)

OverflowException

InvalidCastException

Operator-Anweisung

Konzepte

Typkonvertierung in .NET Framework