Eingaben von der Tastatur einlesen in C#
In dieser Lektion liest du mit Console.ReadLine Benutzereingaben ein und wandelst sie mit int.TryParse sicher in Zahlen um.
Einführung
Die Methode Console.ReadLine hält das Programm an, bis der Benutzer eine Zeile eintippt und Enter drückt, und gibt die eingegebene Zeile dann als String zurück. Da die empfangenen Daten immer ein String sind, musst du sie vor dem Rechnen in eine Zahl umwandeln und den Fall behandeln, dass der Benutzer etwas Falsches eingibt.
Console.ReadLine kann null zurückgeben, wenn keine Eingabe mehr vorhanden ist, deshalb liefert der Operator ?? einen Standardwert wie "friend". Die Methode int.TryParse versucht, den String in eine Zahl umzuwandeln, und gibt bei einem ungültigen String false zurück, statt einen Fehler auszulösen, das Ergebnis kommt über die Variable out int age heraus. Wenn du den Code im Online-Compiler ausführst, gib die Antwort ein, sobald die Meldung erscheint.
Ausführbares C#-Beispiel
using System;
class Program
{
static void Main()
{
// Console.ReadLine returns the typed line, or null when input ends.
Console.Write("What is your name? ");
string name = Console.ReadLine() ?? "friend";
// int.TryParse converts text safely instead of throwing on bad input.
Console.Write("How old are you? ");
string text = Console.ReadLine() ?? "";
if (int.TryParse(text, out int age))
{
Console.WriteLine($"Hello, {name}!");
Console.WriteLine($"In 10 years you will be {age + 10}.");
}
else
{
Console.WriteLine($"\"{text}\" is not a whole number.");
}
}
}
What is your name? Ada
How old are you? 29
Hello, Ada!
In 10 years you will be 39.Mit dem Debugger üben
Mit einer Challenge üben
Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.
- Average of Three Average three whole numbers. Einfach
- Celsius to Fahrenheit Convert a temperature from Celsius to Fahrenheit. Einfach