Kapitel: Mein erstes Programm

Zu viel Text

Befehl: Console.Clear

Bisher hat jedes Console.WriteLine() einfach eine neue Zeile unter die letzte gesetzt - die Konsole füllt sich also immer weiter mit Text, egal ob der alte Text noch interessant ist oder nicht. Manchmal willst du aber gar nicht die ganze Historie sehen, sondern nur den aktuellen Stand - so wie bei einer Uhr, die auch nicht jede Sekunde untereinander auflistet, sondern immer nur die aktuelle Zeit zeigt.

Console.Clear

Console.Clear() löscht den kompletten Inhalt der Konsole und setzt die Schreibposition wieder oben links hin - wie ein leeres Blatt Papier.

Console.WriteLine("Das wird gleich wieder weg sein...");
Console.ReadKey(true);
Console.Clear();
Console.WriteLine("Und weg war's!");
In manchen Umgebungen, in denen die Ausgabe nicht in einem echten Konsolenfenster landet (z.B. wenn sie in eine Datei umgeleitet wird), kann Console.Clear() einen Fehler werfen. In einer normalen Konsole in Visual Studio funktioniert es aber problemlos.

Beispiel: Nur die aktuelle Zahl anzeigen

Erinnerst du dich an das Zähler-Beispiel aus Wiederholungen? Dort wurden alle Zahlen 1 bis 5 untereinander ausgegeben. Mit Console.Clear() und dem Drück eine beliebige Taste von eben können wir stattdessen immer nur die aktuelle Zahl zeigen:

int zaehler = 1;

while (zaehler <= 5)
{
    Console.Clear();
    Console.WriteLine(zaehler);
    Console.ReadKey(true);
    zaehler = zaehler + 1;
}
Bei jedem Tastendruck passiert das Gleiche: Erst wird die Konsole geleert, dann die aktuelle Zahl angezeigt, dann wird auf die nächste Taste gewartet. So siehst du nie mehr als eine Zahl gleichzeitig - obwohl im Hintergrund ganz normal eine while-Schleife läuft.

Kurz zusammengefasst: Console.Clear() leert die Konsole komplett. In Kombination mit Console.ReadKey() kannst du damit Anzeigen bauen, die sich bei jedem Tastendruck neu aufbauen, statt sich endlos nach unten fortzusetzen - genau das brauchen wir gleich für etwas Grösseres.

Weiter geht's mit: Ein visuellerer Taschenrechner