Kapitel: Konsole

Zeige mir Text

Befehl: Console.Write, Console.WriteLine, Environment.NewLine

Im letzten Schritt (Der erste Start) hast du dein erstes Programm gestartet. Darin stand bereits die Zeile Console.WriteLine("Hello, World!"); – die hat dafür gesorgt, dass "Hello, World!" in der Konsole erschienen ist. Jetzt schauen wir uns diesen Befehl und seine Geschwister genauer an.

Console.WriteLine

Console.WriteLine(...) gibt den Text in der Konsole aus und springt danach automatisch in eine neue Zeile. Jeder weitere Aufruf beginnt also in einer frischen Zeile.

Console.WriteLine("Hallo, Welt!");
Console.WriteLine("Ich lerne gerade C#.");
Die Ausgabe sieht so aus:
Hallo, Welt!
Ich lerne gerade C#.

Console.Write

Console.Write(...) macht fast das Gleiche wie Console.WriteLine(...) – nur ohne den automatischen Zeilenumbruch am Ende. Der nächste ausgegebene Text wird direkt daran angehängt.

Console.Write("Hallo, ");
Console.Write("Welt!");
Diesmal landet alles in einer einzigen Zeile:
Hallo, Welt!

Das ist zum Beispiel nützlich, wenn du eine Ausgabe aus mehreren Teilen zusammensetzen möchtest, ohne dass dazwischen ungewollt eine neue Zeile beginnt.

Environment.NewLine

Aber woher weiss Console.WriteLine eigentlich, wie ein Zeilenumbruch aussieht? Dafür gibt es Environment.NewLine. Das ist kein eigener Befehl zum Ausgeben, sondern ein Wert, der genau den Zeilenumbruch enthält, den dein Betriebssystem verwendet.

Windows nutzt intern zwei Zeichen für einen Zeilenumbruch, macOS und Linux nur eins. Deshalb solltest du niemals von Hand einen Zeilenumbruch in deinen Code schreiben, sondern immer Environment.NewLine verwenden - dann funktioniert dein Programm auf jedem System richtig.

Du kannst Environment.NewLine zusammen mit Console.Write verwenden, um selbst zu bestimmen, wo eine neue Zeile beginnt:

Console.Write("Erste Zeile" + Environment.NewLine + "Zweite Zeile");
Das Ergebnis ist genau das Gleiche, als hättest du zwei mal Console.WriteLine aufgerufen:
Erste Zeile
Zweite Zeile

Kurz zusammengefasst: Console.WriteLine schreibt Text und springt danach in eine neue Zeile, Console.Write schreibt Text ohne Zeilenumbruch, und Environment.NewLine liefert dir den passenden Zeilenumbruch, falls du ihn selbst einbauen möchtest.