Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Grundlegende Typumwandlung | Umgang mit Datentypen
C# Grundlagen

bookGrundlegende 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

main.cs

copy
1234
int 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

main.cs

copy
123456789101112131415
using 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

main.cs

copy
123456789101112131415
using 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); } } }
question mark

Welche der folgenden Aussagen sind korrekt?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 11

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

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

bookGrundlegende 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

main.cs

copy
1234
int 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

main.cs

copy
123456789101112131415
using 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

main.cs

copy
123456789101112131415
using 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); } } }
question mark

Welche der folgenden Aussagen sind korrekt?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 11
some-alt