Leser wie Sie helfen, MUO zu unterstützen. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Weiterlesen.

Wenn Sie eine neue Variable in C# deklarieren, initialisieren Sie sie normalerweise mit einem bestimmten Datentyp. Dies kann eine ganze Zahl, eine Dezimalzahl, ein boolescher Wert, eine Zeichenfolge oder ein anderer Datentyp sein.

Sie können einen Wert von einem Datentyp in einen anderen konvertieren. Wenn Sie beispielsweise einen String in eine Ganzzahl konvertieren, müssen Sie den Wert zuerst parsen. Hier sind einige verschiedene Möglichkeiten zum Konvertieren und Analysieren von Werten.

Warum müssen Sie Daten konvertieren oder parsen?

Ein Beispiel dafür, wann Sie möglicherweise Daten parsen müssen, ist, wenn Sie Benutzereingaben in einer C#-Konsolenanwendung anfordern:

Konsole. WriteLine("Gebe Dein Alter ein:");
Zeichenfolge Gehalt = Konsole. Zeile lesen();

In diesem Fall gibt der Benutzer einen ganzzahligen Wert ein, aber die Anwendung speichert ihn standardmäßig als Zeichenfolge. Wenn Sie versucht haben, den Zeichenfolgenwert in Berechnungen zu verwenden, erhalten Sie einen Kompilierungsfehler:

instagram viewer

Ein weiterer Grund für die Konvertierung von Datentypen ist der Zugriff auf bestimmte Methoden, die nur für einen bestimmten Datentyp verfügbar sind. Beispielsweise enthält die DateTime-Struktur eine Funktion, mit der Sie Minuten hinzufügen können. Wenn Sie stattdessen eine Zeichenfolge verwenden würden, hätten Sie keinen Zugriff auf die Methode:

Möglicherweise möchten Sie auch einen Wert in einen anderen Datentyp konvertieren, wenn Sie der Datentypstruktur von a folgen müssen in C# erstellte Klasse oder ein Struktur in C#.

So konvertieren und analysieren Sie verschiedene Datentypen

Sie können verschiedene Datentypen analysieren, z. B. ganze Zahlen, Doubles, boolesche Typen und datetime-Typen.

Zeichenfolgen in Ganzzahlen

Um einen String in eine Ganzzahl umzuwandeln, verwenden Sie die Methode Parse():

Zeichenfolge strInt = "45";
int int32 = Int32.Parse (strInt);
Konsole. WriteLine (int32); // Ausgabe: 45

Sie können die Zeichenfolge auch in Ganzzahlen unterschiedlicher Bitgröße analysieren, z. B. Int16, Int32 oder Int64.

int int16 = Int16.Parse (strInt);
Konsole. WriteLine (int16); // Ausgabe: 45

Wenn Sie die Parse()-Methode verwenden, stellen Sie sicher, dass der Zeichenfolgenwert eine Ganzzahl darstellt. Wenn Sie versuchen, einen nicht ganzzahligen Wert wie „Hallo“ zu parsen, erhalten Sie zur Laufzeit einen Parsing-Fehler.

Zeichenfolge ungültige Zeichenfolge = "Hallo";
int invalidResult = Int32.Parse (invalidString);

Sie können auch die Methode TryParse() verwenden, um Ausnahmen abzufangen, die beim Parsen auftreten können:

int tryParseResult = 0;

Wenn (Int32.TryParse(ungültigeZeichenfolge, austryParseResult))
{
Konsole.WriteLine(tryParseResult);
}
anders
{
Konsole. WriteLine("Etwas ist schief gelaufen");
}

Um eine Ganzzahl wieder in einen String umzuwandeln, verwenden Sie die Methode ToString():

string intString = 45.ToString();
Konsole. WriteLine (intString); // Ausgabe: 45

Saiten zu Doubles

Das Analysieren einer Zeichenfolge zu einem Double ist dem Analysieren von Eins zu einer Ganzzahl sehr ähnlich. Verwenden Sie die Parse()-Methode aus der Double-Klasse:

Zeichenfolge strDouble = "90.5";
doppelt d = Doppelt. Analysieren (strDouble);
Konsole. WriteLine (d); // Ausgabe: 90,5

Wie bei Ganzzahlen können Sie auch die Methode TryParse() verwenden, um eventuell auftretende Parsing-Fehler abzufangen:

Zeichenfolge ungültigStringDouble = "Hallo";
doppelt tryParseDouble = 0;

Wenn (Doppelt.TryParse(ungültigStringDouble, austryParseDouble))
{
Konsole.WriteLine(tryParseDouble);
}

Verwenden Sie die Methode ToString(), um ein Double zurück in eine Ganzzahl zu konvertieren:

doppelt dDouble = 90.5;
Zeichenfolge dString = dDouble. ToString();
Konsole. WriteLine (dString); // Ausgabe: 90,5

Verdoppelt zu ganzen Zahlen

Sie können Casting verwenden, um ein Double in eine ganze Zahl umzuwandeln. Da eine Ganzzahl nur eine ganze Zahl speichert, werden bei der Konvertierung die Dezimalstellen entfernt. Wenn Sie beispielsweise „12,34“ umwandeln, wird nur der Wert „12“ gespeichert.

doppelt dWert = 12.34;
int iWert = (int)dWert;
Konsole. WriteLine (iWert); // Ausgabe: 12

Sie können eine Ganzzahl auch in ein Double zurückwandeln:

dWert = (doppelt)Ich schätze;
Konsole. WriteLine (dWert); // Ausgabe: 12

Zeichenfolgen und boolesche Werte

Um einen String in einen booleschen Wert umzuwandeln, verwenden Sie entweder die Methode Parse() oder ToBoolean():

string stringBool = "WAHR";
bool b = bool. Analysieren (stringBool);

// oder

b = Konvertieren. ToBoolean (stringBool);
Konsole. WriteLine (b); // Ausgabe: wahr

Um einen booleschen Wert zurück in einen String zu konvertieren, verwenden Sie die Methode ToString():

Zeichenfolge strTrue = WAHR.ToString();
Zeichenfolge strFalse = FALSCH.ToString();

Ganzzahlen und boolesche Werte

Um eine ganze Zahl in einen booleschen Wert umzuwandeln, verwenden Sie die ToBoolean()-Methode, um entweder eine „1“ oder eine „0“ in den entsprechenden booleschen Wert umzuwandeln. Der Wert „1“ wird in „true“ umgewandelt, während „0“ in „false“ umgewandelt wird:

int falsches Bit = 0;
int trueBit = 1;
Konsole. WriteLine (Konvertieren. ToBoolean (falseBit)); // Ausgabe: falsch
Konsole. WriteLine (Konvertieren. ToBoolean (trueBit)); // Ausgabe: wahr

Sie können auch einen ganzzahligen Wert außer „1“ oder „0“ an die ToBoolean()-Methode übergeben. Standardmäßig gibt die Methode immer noch "true" zurück:

int ungültigBit = 8;
Konsole. WriteLine (Konvertieren. ToBoolean (invalidBit)); // Ausgabe: wahr

Um einen booleschen Wert wieder in eine ganze Zahl umzuwandeln, verwenden Sie die Convert. ToInt32()-Methode. Das Konvertieren von „true“ gibt eine „1“ zurück, und das Konvertieren von „false“ gibt eine „0“ zurück.

bool iBool = WAHR;
int bInt = Konvertieren. ToInt32(iBool);
Konsole. WriteLine (bInt); // Ausgabe: 1

Zeichenfolgen für DateTime

Um eine Zeichenfolge in das Datetime-Format zu analysieren, verwenden Sie die DateTime. Parse()-Methode:

DateTime newDateTime = DateTime. Analysieren ("01/01/2018 00:00:00");
Konsole. WriteLine (newDateTime); // Ausgabe: 01.01.2018 00:00:00

Verwenden Sie die Methode ToString(), um eine Datumszeit zurück in einen String zu konvertieren:

DateTime dt = neu Terminzeit(2018, 1, 1);
Zeichenfolge dtString = dt. ToString();
Konsole. WriteLine (dtString); // Ausgabe: 01.01.2018 00:00:00

Parsen von Werten in verschiedene Datentypen

Jetzt verstehen Sie, wie Sie Werte von einem Datentyp in einen anderen konvertieren. Dies sind nicht die einzigen Konvertierungen, die es gibt, Sie können also gerne mehr über andere Datentypen in C# erfahren.

Sie können auch untersuchen, wie andere Datentypen in anderen Sprachen funktionieren, z. B. JavaScript.