Grundlegende Typumwandlung
Typumwandlung ist der Prozess, bei dem ein Wert von einem Datentyp in einen anderen umgewandelt wird. Dies ist häufig zwischen Typen möglich, die Zahlen repräsentieren. Zum Beispiel kann ein float in einen int und umgekehrt umgewandelt werden. Das direkte Umwandeln eines string in einen int ergibt jedoch keinen logischen Sinn und ist ohne zusätzliche Schritte nicht möglich.
Es gibt zwei Arten der Typumwandlung: implizite Typumwandlung und explizite Typumwandlung.
Implizite Typumwandlung erfolgt automatisch, wenn ein Wert von einem Typ in einen anderen umgewandelt wird, üblicherweise von einem kleineren zu einem größeren Datentyp.
main.cs
1234int val1 = 10; long val2 = val1; // int is automatically converted to long float val3 = var1; // int is automatically converted to float double var4 = var1; // int is automatically converted to double
Implizite Typumwandlung erfolgt automatisch, wenn ein kleinerer Datentyp in einen größeren umgewandelt wird. Die Größe eines Datentyps wird durch die Menge an Daten bestimmt, die er speichern kann, gemessen in Bits. Ein int kann beispielsweise 32 Bits speichern, während ein long 64 Bits speichern kann, daher erfolgt die Umwandlung von int zu long automatisch. Ebenso kann ein float problemlos in ein double umgewandelt werden.
Hier ist eine Liste von Datentypen, geordnet von klein nach groß:
char -> int -> long -> float -> double
Explizite Typumwandlung bedeutet, dass Sie als Programmierer dem Computer mitteilen, einen Wert in einen anderen Datentyp umzuwandeln. Dies ist notwendig, wenn von einem größeren Datentyp in einen kleineren umgewandelt wird, da dabei Daten verloren gehen können. Beispielsweise ergibt die Umwandlung des float-Werts 3.14 in einen Integer den Wert 3, wobei der Dezimalteil verloren geht. Deshalb müssen Sie dem Computer explizit mitteilen, solche Umwandlungen vorzunehmen.
main.cs
123456789101112131415using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = val1; // Error: Cannot implicitly convert type 'float' to 'int'. An explicit conversion exists (are you missing a cast?) Console.WriteLine(val1); Console.WriteLine(val2); } } }
Um den Fehler im obigen Code zu beheben, muss val1 explizit in einen Ganzzahlwert umgewandelt werden.
Die Syntax für einen Cast lautet (datatype) value, zum Beispiel (int) 3.1415. In diesem Fall schreiben wir also (int) val1:
main.cs
123456789101112131415using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = (int) val1; Console.WriteLine(val1); Console.WriteLine(val2); } } }
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you give an example of implicit type casting in code?
What happens if I try to cast a string to an int?
Can you explain more about explicit type casting with examples?
Awesome!
Completion rate improved to 1.59
Grundlegende Typumwandlung
Swipe um das Menü anzuzeigen
Typumwandlung ist der Prozess, bei dem ein Wert von einem Datentyp in einen anderen umgewandelt wird. Dies ist häufig zwischen Typen möglich, die Zahlen repräsentieren. Zum Beispiel kann ein float in einen int und umgekehrt umgewandelt werden. Das direkte Umwandeln eines string in einen int ergibt jedoch keinen logischen Sinn und ist ohne zusätzliche Schritte nicht möglich.
Es gibt zwei Arten der Typumwandlung: implizite Typumwandlung und explizite Typumwandlung.
Implizite Typumwandlung erfolgt automatisch, wenn ein Wert von einem Typ in einen anderen umgewandelt wird, üblicherweise von einem kleineren zu einem größeren Datentyp.
main.cs
1234int val1 = 10; long val2 = val1; // int is automatically converted to long float val3 = var1; // int is automatically converted to float double var4 = var1; // int is automatically converted to double
Implizite Typumwandlung erfolgt automatisch, wenn ein kleinerer Datentyp in einen größeren umgewandelt wird. Die Größe eines Datentyps wird durch die Menge an Daten bestimmt, die er speichern kann, gemessen in Bits. Ein int kann beispielsweise 32 Bits speichern, während ein long 64 Bits speichern kann, daher erfolgt die Umwandlung von int zu long automatisch. Ebenso kann ein float problemlos in ein double umgewandelt werden.
Hier ist eine Liste von Datentypen, geordnet von klein nach groß:
char -> int -> long -> float -> double
Explizite Typumwandlung bedeutet, dass Sie als Programmierer dem Computer mitteilen, einen Wert in einen anderen Datentyp umzuwandeln. Dies ist notwendig, wenn von einem größeren Datentyp in einen kleineren umgewandelt wird, da dabei Daten verloren gehen können. Beispielsweise ergibt die Umwandlung des float-Werts 3.14 in einen Integer den Wert 3, wobei der Dezimalteil verloren geht. Deshalb müssen Sie dem Computer explizit mitteilen, solche Umwandlungen vorzunehmen.
main.cs
123456789101112131415using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = val1; // Error: Cannot implicitly convert type 'float' to 'int'. An explicit conversion exists (are you missing a cast?) Console.WriteLine(val1); Console.WriteLine(val2); } } }
Um den Fehler im obigen Code zu beheben, muss val1 explizit in einen Ganzzahlwert umgewandelt werden.
Die Syntax für einen Cast lautet (datatype) value, zum Beispiel (int) 3.1415. In diesem Fall schreiben wir also (int) val1:
main.cs
123456789101112131415using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = (int) val1; Console.WriteLine(val1); Console.WriteLine(val2); } } }
Danke für Ihr Feedback!