c type casting explicit implicit data conversion with example
Datentyp-Casting in C # mit Beispielen: In diesem Lernprogramm wird die explizite und implizite Konvertierung, die Konvertierung in Zeichenfolge und die Datentypkonvertierung mithilfe von Hilfsklassen erläutert:
Datentypen und Variablen in C # wurden in unserem vorherigen Tutorial ausführlich erklärt.
Wir haben gelernt, wie ein Datentyp mithilfe von Typumwandlung in einen anderen Datentyp konvertiert werden kann. Typecasting ist in zwei Teile unterteilt, d. H. Implizite und explizite Konvertierung.
Lassen Sie uns in diesem Tutorial näher auf C # Type Casting eingehen.
=> Hier finden Sie den Easy C # Trainingsleitfaden
Es ist eine implizite Konvertierung, wenn ein kleinerer Datentyp in einen größeren Datentyp oder eine abgeleitete Klasse in eine Basisklasse konvertiert wird.
Andererseits wird die Umwandlung in die entgegengesetzte Richtung als explizite Umwandlung bezeichnet. Es benötigt einen Cast-Operator, um einen höheren Datentyp in einen kleineren Datentyp zu konvertieren. Diese Art der Konvertierung ist nicht typsicher und kann zu Datenverlust führen.
Was du lernen wirst:
Datentyp Casting in C #
In diesem Tutorial werden wir detailliert diskutieren, wie ein Datentyp in einen anderen Datentyp konvertiert werden kann. C # ist ein statischer Typ während der Kompilierung. Dies bedeutet, dass nach der Deklaration einer Variablen keine Werte eines anderen Datentyps gespeichert werden können.
Dies kann jedoch überwunden werden, indem dieser Typ in einen Variablentyp konvertiert wird.
qa Fragen und Antworten zu Managerinterviews
Versuchen wir, einen Zeichenfolgenwert in eine Ganzzahl umzuwandeln.
int a; a = 'some random string';
Wenn wir dies kompilieren, wird ein Fehler ausgegeben, der besagt, dass 'Typ' Zeichenfolge 'nicht implizit in' int 'konvertiert werden kann.'
Datentypen können basierend auf Datentypen weiter unterteilt werden.
- Primitive
- Nicht primitiv
Primitive Datentypen sind vordefiniert, während nicht-primitive Datentypen benutzerdefiniert sind. Datentypen wie Byte, Int, Short, Float, Long, Char, Bool usw. werden als primitive Datentypen bezeichnet. Nicht primitive Datentypen Dazu gehören Klasse, Aufzählung, Array, Delegat usw.
In diesem Tutorial werden wir uns die verschiedenen Methoden ansehen, die C # für die Typumwandlung bietet.
Implizite Konvertierung
Die implizite Konvertierung ist die einfachste Art der Konvertierung. Diese Art der Konvertierung ist typsicher und während der Konvertierung tritt kein Datenverlust auf. Diese Konvertierungen befassen sich mit der Konvertierung einer abgeleiteten Klasse in eine Basisklasse.
Zum Beispiel, Wir können die implizite Konvertierung direkt verwenden, wenn der Wert, der in einer anderen Variablen gespeichert werden muss, ohne Datenverlust direkt passt. Nehmen wir an, wir haben einen 'Integer' -Wert und möchten diesen Wert an einen 'Long' übergeben.
int i = 75; long j = i;
Explizite Konvertierung
Bei der impliziten Konvertierung haben wir gesehen, dass wir eine abgeleitete Klasse direkt in eine Basisklasse konvertieren können, ohne Daten zu verlieren. Wenn jedoch die Möglichkeit eines Datenverlusts besteht, muss der Compiler eine explizite Konvertierung durchführen.
Explizite Konvertierung oder Umwandlung ist ein Prozess, bei dem Informationen an den Compiler übergeben werden, die das Programm mit der Kenntnis eines möglichen Datenverlusts zu konvertieren versucht.
Zum Beispiel, wenn wir einen höheren numerischen Wert in einen niedrigeren umwandeln.
Entfernen von Elementen aus einem Java-Array
double d = 75.25; int i; i = (int)d;
Wenn Sie nun 'i' drucken, werden Sie feststellen, dass '75' gedruckt wird. Alle Daten nach der Dezimalstelle gehen bei der Konvertierung verloren.
Konvertierung mit verschiedenen Hilfsklassen
Um zwischen verschiedenen nicht kompatiblen Typen zu konvertieren, z. B. das Konvertieren einer Zeichenfolge in eine Zahl oder ein Byte-Array in eine Ganzzahl oder sogar hexadezimale Zeichenfolgen in andere numerische Typen, benötigen wir eine andere Hilfsklasse, da eine direkte Konvertierung nicht möglich ist.
Ein Datentyp kann mithilfe der in der Konvertierungsklasse vorhandenen Methoden oder mithilfe einer TryParse-Methode, die für die verschiedenen Zifferntypen verfügbar ist, in einen anderen Datentyp konvertiert werden. TryParse ist nützlicher, wenn wir eine Zeichenfolge in die Ziffer konvertieren. Es ist ziemlich einfach und effizient.
int number = Int32.Parse(“123”);
Hier haben wir einen String mit parse in eine Ganzzahl umgewandelt.
Schauen wir uns eine andere Konvertierungsmethode an, nämlich die Konvertierungsmethode.
Statische Methoden in der Klasse konvertieren sind sehr nützlich für die Konvertierung in den Basisdatentyp oder umgekehrt. Einige der unterstützten Datentypen sind Char, Boolean, Int32, int64, Double, Decimal, String, Int16 usw. Die Convert-Klasse unterstützt auch Methoden für andere Konvertierungen.
In String konvertieren
Die Convert.ToString-Methode konvertiert einen Datentyp in eine Zeichenfolge. In dem Beispiel Im Folgenden konvertieren wir einen ganzzahligen Datentyp in einen String-Datentyp.
int number = 75; string s = Convert.ToString(number);
InvalidCastException
Manchmal ist es möglich, dass der Compiler nicht versteht, ob die Operation zum Konvertieren eines Typs in einen anderen gültig ist oder nicht. Dies führt dazu, dass der Compiler zur Laufzeit fehlschlägt. Sobald die Typkonvertierung fehlschlägt, wird eine ungültige Ausnahme ausgelöst.
InvalidCastException wird immer dann ausgelöst, wenn eine explizite oder Typkonvertierungsimplementierung von beiden für die Konvertierung verwendeten Datentypen nicht unterstützt wird.
Fazit
In diesem Tutorial haben wir die Konvertierungsarten und das Durchführen einer Konvertierung zwischen verschiedenen Datentypen kennengelernt. Implizite Konvertierung ist die Konvertierung, bei der eine abgeleitete Klasse in eine Basisklasse wie int in einen Float-Typ konvertiert wird.
Explizite Konvertierung ist die Konvertierung, die zu Datenverlust führen kann. Die explizite Konvertierung konvertiert die Basisklasse in die abgeleitete Klasse. Möglicherweise müssen wir die Konvertierung für verschiedene andere Datentypen durchführen. Dazu benötigen wir die Hilfe der Hilfsklasse. Hilfsklassen wie 'Parse' und 'ConvertTo' bieten verschiedene Möglichkeiten, einen Datentyp in einen anderen zu konvertieren.
Wir haben auch von der Ausnahme erfahren, die der Compiler auslöst, wenn er die Konvertierung zwischen zwei Typen nicht versteht.
=> Hier finden Sie den Easy C # Trainingsleitfaden
Literatur-Empfehlungen
- C # -Datentypen und -Variablen mit Beispielen
- C ++ - Datentypen
- Typkonvertierungen in C ++
- Data Mining: Prozesse, Techniken und wichtige Probleme bei der Datenanalyse
- Data Mart Tutorial - Typen, Beispiele und Implementierung von Data Mart
- Arten von Migrationstests: Mit Testszenarien für jeden Typ
- 10+ beste Datenerfassungstools mit Datenerfassungsstrategien
- Datenpoolfunktion in IBM Rational Quality Manager für Testdatenverwaltung