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
course content

Kursinhalt

C# Grundlagen

C# Grundlagen

1. Erste Schritte
2. Umgang mit Datentypen
3. Kontrollstrukturen
4. Schleifen
5. Arrays
6. Methoden

book
Grundlegende Typumwandlung

Typumwandlung ist der Prozess der Umwandlung eines Wertes von einem Datentyp in einen anderen. Dies ist oft zwischen Typen möglich, die Zahlen darstellen. Zum Beispiel können Sie einen float in einen int und umgekehrt umwandeln. Allerdings macht es keinen logischen Sinn, einen string direkt in einen int umzuwandeln, und es 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, normalerweise von einem kleineren zu einem größeren Datentyp.

cs

main

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 halten kann, gemessen in Bits. Zum Beispiel kann ein int 32 Bits halten, während ein long 64 Bits halten kann, sodass die Umwandlung eines int in einen long automatisch erfolgt. Ebenso kann ein float ohne Probleme in ein double umgewandelt werden.

Hier ist eine Liste von Datentypen, geordnet von klein nach groß: char -> int -> long -> float -> double

Explizite Typumwandlung ist, wenn Sie als Programmierer dem Computer sagen, dass er einen Wert in einen anderen Datentyp umwandeln soll. Dies ist notwendig, wenn von einem größeren Datentyp in einen kleineren umgewandelt wird, da einige Daten verloren gehen könnten. Zum Beispiel führt die Umwandlung des Floats 3.14 in einen Integer zu 3, wobei der Dezimalteil verloren geht. Deshalb müssen Sie dem Computer explizit sagen, solche Umwandlungen vorzunehmen.

cs

main

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, müssen wir val1 explizit in einen ganzzahligen Wert umwandeln.

Die Syntax eines Casts ist (datatype) value, zum Beispiel (int) 3.1415. In diesem Fall schreiben wir (int) val1:

cs

main

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); } } }
Welche der folgenden Aussagen sind korrekt?

Welche der folgenden Aussagen sind korrekt?

Wählen Sie einige richtige Antworten aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 11
We're sorry to hear that something went wrong. What happened?
some-alt