Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

Typumwandlung (C#-Programmierhandbuch)

Die Konvertierung zwischen verschiedenen Datentypen kann explizit mithilfe einer Umwandlung erfolgen. In einigen Fällen sind jedoch implizite Konvertierungen möglich. Beispiel:

static void TestCasting()
{
    int i = 10;
    float f = 0;
    f = i;  // An implicit conversion, no data will be lost.
    f = 0.5F;
    i = (int)f;  // An explicit conversion. Information will be lost.
}

Eine Umwandlung ruft explizit den Konvertierungsoperator von einem Typ in einen anderen auf. Die Umwandlung schlägt fehl, wenn kein solcher Konvertierungsoperator definiert ist. Sie können benutzerdefinierte Konvertierungsoperatoren schreiben, um zwischen benutzerdefinierten Typen zu konvertieren. Weitere Informationen zur Definition von Konvertierungsoperatoren finden Sie unter explicit (C#-Referenz) und implicit (C#-Referenz).

Das folgende Programm wandelt double in int um. Ohne die Typumwandlung kann das Programm nicht kompiliert werden.

class Test
{
    static void Main()
    {
        double x = 1234.7;
        int a;
        a = (int)x;  // cast double to int
        System.Console.WriteLine(a);
    }
}

1234

Weitere Informationen finden Sie in den folgenden Abschnitten von C#-Programmiersprachenspezifikation.

  • 7.6.6 Typumwandlungsausdrücke

  • 6.1 Implizite Konvertierungen

  • 6.2 Explizite Konvertierungen

Anzeigen: