Informiert wie ein Fuchs.

C# String to int: TryParse mit Beispielen

Für eine Benutzereingabe, die eine ganze Zahl enthalten soll, ist int.TryParse ein geeigneter Ausgangspunkt. Prüfe den booleschen Rückgabewert, bevor du die Ergebnisvariable verwendest. Eine erfolgreiche Umwandlung sagt außerdem noch nicht, ob die Zahl in deiner Anwendung zulässig ist.

Beispiel: eine Teilnehmerzahl einlesen

string eingabe = "12";
if (int.TryParse(eingabe, out int anzahl) && anzahl > 0)
{
    Console.WriteLine($"Teilnehmer: {anzahl}");
}
else
{
    Console.WriteLine("Bitte eine positive ganze Zahl eingeben.");
}

Hier werden zwei Fragen getrennt beantwortet: Lässt sich der Text umwandeln? Und ist das Ergebnis positiv? Für "0" gelingt die Umwandlung, die zweite Bedingung ist aber falsch.

Was passiert bei ungültigem Text?

Bei der üblichen String-Überladung liefert TryParse für einen nicht passenden Text, null oder einen Wert außerhalb des Int32-Bereichs false. Der Ergebniswert ist dabei 0. Dieser allein unterscheidet also nicht zwischen einer gültigen Null und einem Fehler. int.Parse kann bei ungültigen Eingaben dagegen Ausnahmen auslösen.

Die Standardumwandlung akzeptiert beispielsweise Vorzeichen und umgebenden Leerraum. Dezimalzahlen und Tausendertrennzeichen verlangen eine bewusste Formatentscheidung. Details zu Überladungen und Zahlenformaten stehen in der Microsoft-Dokumentation zu Int32.TryParse.

Eigene Testfälle für das Formular

Eingabe Erwartung im Beispiel
12 Teilnehmer: 12
0 Fehlermeldung
-4 Fehlermeldung
zwölf Fehlermeldung
12 Personen Fehlermeldung

Ein Feld für Teilnehmer sollte keinen beliebigen Text stillschweigend bereinigen. Aus „12 Personen“ automatisch 12 zu extrahieren wäre eine zusätzliche Regel, die klar definiert werden müsste.

Eine Liste bearbeiten

string liste = "3;8;falsch;15";
foreach (string feld in liste.Split(';'))
{
    if (int.TryParse(feld, out int wert))
        Console.WriteLine(wert * 2);
    else
        Console.WriteLine($"Ungültiges Feld: {feld}");
}

Die vorgesehenen Ausgaben sind 6, 16, „Ungültiges Feld: falsch“ und 30. Überlege für deinen Import, ob einzelne Fehler erlaubt sind oder die ganze Zeile zurückgewiesen werden muss. Die Beispiele zeigen den Kontrollfluss; sie sind kein vollständiger CSV-Parser.

Passend dazu

Erstveröffentlichung: 20.02.2024. Redaktionell überarbeitet im September 2026.