Tabelle für explizite numerische Konvertierungen (C#-Referenz)

Eine explizite numerische Konvertierung wird verwendet, um einen numerischen Typ mithilfe eines Umwandlungausdrucks in einen beliebigen anderen numerischen Typ zu konvertieren, für den es keine implizite Konvertierung gibt. Die folgende Tabelle zeigt diese Konvertierungen.

Weitere Informationen darüber, wie Konvertierungen funktionieren, finden Sie unter Umwandlung und Typkonvertierungen.

Von Beschreibung
sbyte byte, ushort, uint, ulong oder char
byte Sbyte oder char
short sbyte, byte, ushort, uint, ulong oder char
ushort sbyte, byte, short oder char
int sbyte, byte, short, ushort, uint, ulong oder char
uint sbyte, byte, short, ushort, int oder char
long sbyte, byte, short, ushort, int, uint, ulong oder char
ulong sbyte, byte, short, ushort, int, uint, long oder char
char sbyte, byte oder short
float sbyte, byte, short, ushort, int, uint, long, ulong. char oder decimal
double sbyte, byte, short, ushort, int, uint, long, ulong, char, float oder decimal
decimal sbyte, byte, short, ushort, int, uint, long, ulong, char, float oder double

Hinweise

  • Die explizite numerische Konvertierung kann zu einem Genauigkeitsverlust führen oder eine Ausnahme auslösen.

  • Wenn Sie einen decimal-Wert in einen integralen Typ konvertieren, wird dieser Wert Richtung 0 (null) auf den nächsten Integralwert gerundet. Wenn der erzeugte Integralwert sich außerhalb des Bereichs des Zieltyps befindet, wird eine <xref:System.OverflowException> ausgelöst.

  • Wenn Sie einen double- oder float-Wert konvertieren, wird er Wert abgeschnitten. Wenn der erzeugte Integralwert sich außerhalb des Bereichs des Zielwerts befindet, hängt das Ergebnis vom Kontext der Überlaufprüfung ab. In einem geprüften Kontext wird eine OverflowException ausgelöst, während das Ergebnis in einem ungeprüften Kontext ein nicht angegebener Wert des Zieltyps ist.

  • Wenn Sie double in float konvertieren, wird der double-Wert auf den nächsten float-Wert gerundet. Wenn der double-Wert zu klein oder zu groß ist, um in den Zieltyp zu passen, ist das Ergebnis 0 (null) oder unendlich.

  • Wenn Sie float oder double in decimal konvertieren, wird der Quellwert in eine decimal-Darstellung konvertiert und bei Bedarf auf die nächste Zahl nach der achtundzwanzigsten Dezimalstelle gerundet. Je nach Wert des Quellwerts kann eines der folgenden Ergebnisse auftreten:

    • Wenn der Quellwert zu klein ist, als dass er als decimal dargestellt werden könnte, ist das Ergebnis 0 (null).

    • Wenn der Quellwert NaN (nicht numerisch), unendlich oder zu groß ist, um als decimal dargestellt zu werden, wird eine OverflowException ausgelöst.

  • Wenn Sie decimal in float oder double konvertieren, wird der decimal-Wert auf den nächsten double- oder float-Wert konvertiert.

Weitere Informationen zu expliziten Konvertierungen finden Sie unter „Explicit“ in der C#-Sprachspezifikation. Weitere Informationen zum Zugriff auf die Spezifikation finden Sie in der C#-Sprachspezifikation.

Siehe auch

C#-Referenz
C#-Programmierhandbuch
Umwandlung und Typkonvertierungen
()-Operator
Tabelle ganzzahliger Typen
Tabelle integrierter Typen
Tabelle für implizite numerische Konvertierungen