Search
Close this search box.
C# Parsing von Strings

C# Parsen: Konvertieren von Daten in andere Datentypen

In C# ist es häufig notwendig, Daten von einem Datentyp in einen anderen zu konvertieren. Zum Beispiel müssen Zahlen als Strings eingegeben und dann in Ganzzahlen oder Fließkommazahlen umgewandelt werden. Dieser Vorgang wird als Parsen bezeichnet und wird in der Regel mit speziellen Funktionen durchgeführt, die in C# verfügbar sind.

In C# gibt es verschiedene Methoden zum Parsen von Daten. Eine der häufigsten ist die Methode „Parse“, die in den meisten primitiven Datentypen verfügbar ist. Diese Methode wandelt eine Zeichenfolge in den entsprechenden Datentyp um. Zum Beispiel können Sie mit der Methode „int.Parse“ eine Zeichenfolge in eine Ganzzahl umwandeln:

				
					string zahlAlsString = "42";
int zahlAlsInt = int.Parse(zahlAlsString);

				
			

Es gibt auch speziellere Methoden zum Parsen von Daten, wie zum Beispiel die Methode „DateTime.Parse“, die eine Zeichenfolge in ein Datums- und Uhrzeitobjekt umwandelt:

				
					string datumAlsString = "01.01.2022";
DateTime datumAlsDateTime = DateTime.Parse(datumAlsString);

				
			

Wenn die Eingabezeichenfolge nicht im erwarteten Format vorliegt, kann eine Ausnahme ausgelöst werden. Um dies zu vermeiden, können Sie die Methode „TryParse“ verwenden, die eine Boolean zurückgibt, die angibt, ob die Umwandlung erfolgreich war oder nicht, ohne eine Ausnahme auszulösen:

Weitere Beispiele zum Konvertieren von Daten in andere Datentypen in C#:

  • Konvertieren von einem String in einen Double:
				
					string text = "3.14";
double number = Convert.ToDouble(text);

				
			
  • Konvertieren von einem String in eine Integer-Liste:
				
					string text = "1,2,3,4,5";
List<int> numbers = text.Split(',').Select(int.Parse).ToList();

				
			
  • Konvertieren von einem Integer in einen String mit führenden Nullen:
				
					int number = 42;
string text = number.ToString("D4");

				
			
  • Konvertieren von einem Boolean in eine String-Darstellung:
				
					bool flag = true;
string text = flag.ToString();

				
			
  • Konvertieren von einem Float in einen Decimal:
				
					float number = 3.1415f;
decimal decimalNumber = Convert.ToDecimal(number);

				
			

Fazit: Das Parsen von Daten ist ein wichtiger Bestandteil der C#-Programmierung, da es häufig erforderlich ist, Daten von einem Datentyp in einen anderen zu konvertieren. In C# stehen verschiedene Methoden zur Verfügung, um diesen Vorgang durchzuführen, wie die Methode „Parse“ und „TryParse“. Es ist wichtig, auf mögliche Ausnahmen zu achten und geeignete Maßnahmen zu ergreifen, um diese zu vermeiden.

Aufgabe:

Aufgabe zum Mitmachen:

Schreiben Sie ein C#-Programm, das eine Zeichenfolge als Eingabe vom Benutzer annimmt und sie in eine Ganzzahl umwandelt. Überprüfen Sie, ob die Eingabe gültig ist, indem Sie die Methode „TryParse“ verwenden und eine entsprechende Nachricht ausgeben, wenn die Eingabe ungültig ist.

Um die Lösung anzuzeigen, fahre mit der Maus in die Mitte des darunterliegenden Fensters.

				
					using System;

namespace ParsenAufgabe
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Geben Sie eine Ganzzahl ein:");
            string eingabe = Console.ReadLine();
            int zahl;
            bool erfolgreich = int.TryParse(eingabe, out zahl);
            if(erfolgreich) {
            Console.WriteLine("Die Zahl ist: " + zahl);
            } else {
            Console.WriteLine("Ungültige Eingabe!");
            }
        }
    }
}

				
			

Das Programm liest eine Zeichenfolge als Eingabe vom Benutzer ein und verwendet die Methode „TryParse“, um die Eingabe in eine Ganzzahl umzuwandeln. Wenn die Umwandlung erfolgreich ist, wird die Zahl ausgegeben, sonst wird eine Nachricht ausgegeben, dass die Eingabe ungültig ist.

Zurück zum vorherigen Teil des C# Kurses
Klicken Sie auf den Pfeil, um zum vorherigen Teil des Kurses zurückzukehren
Pfeil-Button zum nächsten Teil des Kurses
Klicken Sie auf den Pfeil, um zum nächsten Teil des Kurses zu gelangen