Conversion operator in C Sharp

What is conversion operator in C Sharp?
Ein Konvertierungsoperator in C # ist ein Operator, mit dem eine Konvertierung für einen benutzerdefinierten Typ deklariert wird, sodass ein Objekt dieses Typs in oder von einem anderen benutzerdefinierten Typ oder Basistyp konvertiert werden kann. Die zwei verschiedenen Arten von benutzerdefinierten Conversions umfassen implizite und explizite Conversions.

Im Allgemeinen bieten explizite und implizite Konvertierungsoperatoren die Fähigkeit einer Klasse, in die anderen möglichen Datentypen umgewandelt zu werden.

Ein expliziter Konvertierungsoperator muss mit einem Cast aufgerufen werden und wird verwendet, wenn die Conversion für die Benutzer des Operators sichtbar sein muss. Es wird in Darstellungsausdrücken verwendet, in denen die beiden Datentypen nicht vollständig kompatibel sind und daher einen Darstellungsoperator erfordern.

An implicit conversion operator is easy to use. It does not require any special syntax and improves the readability of the code. It also helps a class to convert data of a data type without type casting to a compatible type. Implicit casting must be used in situations such as function member calls and assignments where there is no risk of data loss or exceptions.

Eine implizite Konvertierung kann für eine Klasse mit dem Schlüsselwort ‚implizit‘ zusammen mit dem Schlüsselwort ‚operator‘ definiert werden. Eine explizite Konvertierungsoperation kann für eine Klasse unter Verwendung des Schlüsselworts ‚explizit‘ zusammen mit dem Schlüsselwort ‚operator‘ definiert werden. Beide Konvertierungen müssen als statisch definiert werden.

Zum Beispiel kann eine Klasse, RomanNumeral, mit zwei Konvertierungsoperatoren definiert werden. Ein impliziter Konvertierungsoperator kann definiert werden, um die RomanNumeral-Klasse in eine Zeichenfolge umzuwandeln, um eine Zahl in Form einer römischen Ziffer anzuzeigen; Der explizite Konvertierungsoperator kann definiert werden, um die Konvertierung von der RomanNumeral-Klasse in Integer durchzuführen.

Die Konvertierung einer Klasse in Objekttyp oder Schnittstellentyp ist nicht zulässig. Gleiches gilt für die Konvertierung von der Base class into a class derived from the base class.

Für eine bestimmte Klasse können die expliziten und impliziten Operatoren nicht für die Konvertierung vom selben Typ in einen anderen Typ angegeben werden.

Es sollte darauf geachtet werden, dass eine implizite Konvertierung nicht zu einem Datenverlust oder einer Ausnahme führt. Wenn gültige Gründe für das Auslösen einer Ausnahme vorliegen, sollte die Konvertierung vom expliziten Typ sein.


Was the explanation to "Conversion operator in C Sharp"Helpful? Rate now:

More explanations too