[Konsole] Formatierte Eingabe


  • Administrator

    Frage
    Wie kann ich eine formatierte Eingabe von der Konsole durchführen, wie dies zum Beispiel in C mit sscanf geht?

    Antwort
    Eine solche direkte Möglichkeit gibt es in .Net nicht. Console bietet nur die statischen Methoden Read , ReadLine und ReadKey an, 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 Methode Parse und TryParse , womit sich Text in den entsprechenden Wertetyp umwandeln lässt. Um eine Form aufzubrechen, kann man entweder die Funktionen der String Klasse oder Regulare Expressions über die Klasse System.Text.RegularExpressions.Regex verwenden.

    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);
      }
    }
    

Anmelden zum Antworten