[Konsole] Formatierte Eingabe
-
Frage
Wie kann ich eine formatierte Eingabe von der Konsole durchführen, wie dies zum Beispiel in C mitsscanfgeht?Antwort
Eine solche direkte Möglichkeit gibt es in .Net nicht.Consolebietet nur die statischen MethodenRead,ReadLineundReadKeyan, um Daten einzulesen. Diese sind aber auf Zeicheneingaben, bzw. Texteingaben, beschränkt. Um daraus nun z.B. Zahlen zu gewinnen oder eine gewisse Form aufzubrechen, gibt es unterschiedliche Hilfsmittel. Jeder Wertetyp in C# hat eine statische MethodeParseundTryParse, womit sich Text in den entsprechenden Wertetyp umwandeln lässt. Um eine Form aufzubrechen, kann man entweder die Funktionen derStringKlasse oder Regulare Expressions über die KlasseSystem.Text.RegularExpressions.Regexverwenden.Beispiel
using System; class Program { public static void Main() { var expression = Console.ReadLine(); var terms = expression.Split('+'); double total = 0; foreach(var term in terms) { total += Double.Parse(term); } Console.WriteLine("{0} = {1}", expression, total); } }