Grundlagen: Konsolen-Funktionen

Wie in unserem 1. Beispiel wollen wir uns als erstes etwas näher mit den Konsolen-Funktionen von C# beschäftigen. Die Konsolen-Funktionen von C# befinden sich in der Klasse Console. Die Klasse Console verfügt über einige Funktionen und Eigenschaften. Einige wichtige Eigenschaften und Funktionen wollen wir uns jetzt etwas genauer anschauen.
Über die Eigenschaft Title können wir den Titel des Konsolen-Fensters ändern. Der Titel wird in der Titelleiste des Fensters angezeigt. Über die Eigenschaften BackgroundColor und ForegroundColor kann die Hintergrund- und Schriftfarbe geändert werden. Hierfür wird ein Wert der Enumeration (dazu später mehr) ConsoleColor benötigt. Ein kleiner Tipp: Visual Studio hilft uns bei der Eingabe von unbekannten Datentypen durch das Tool IntelliSense, welches eine Art Auto-Vervollständigung mit Hinweisen bietet. Wenn wir den unteren Code kompilieren und ausführen sehen wir, dass nur der Text „Ihre Eingabe:“ mit blau hinterlegt ist, das kommt daher, da nach dem Ändern der Hintergrundfarbe die Clear-Funktion nicht aufgerufen wurde, welche den kompletten Konsolen-Inhalt löscht und dabei auch alle Zellen mit der richtigen Hintergrundfarbe füllt. Wird dies nicht gemacht, werden nur alle ausgegebenen oder durch den Nutzer eingegebenen Informationen mit dieser Farbe hinterlegt.
Um etwas auf die Konsole zu schreiben, gibt es die Write()- und WriteLine()-Funktion. Die Write-Funktion führt im Gegensatz zu der WriteLine()-Funktion keinen Zeilenumbruch aus. Natürlich könnten wir auch mit der Write-Funktion den Zeilenumbruch „manuell“ auslösen (Console.Write("
");), was jedoch eher unüblich ist. Die Write()- und WriteLine()-Funktion erwartet als Parameter standardmäßig einen Parameter, bei dem der Typ nicht von Bedeutung ist (dies kommt daher, dass die Funktionen mit verschieden Datentypen überladen sind, dazu später mehr). Ein Aufruf von WirteLine() ohne Parameter erzeugt einen Zeilenumbruch. Um eine Eingabe des Benutzers abzufangen und zu bearbeiten, können wir die Funktion ReadLine() und ReadKey() verwenden. ReadKey() liest nur ein Tastendruck ein, wohingegen ReadLine() solange liest, bis die Eingabe-Taste (Enter) gedrückt wird. Die ReadLine()-Funktion wird gerne verwendet um eine Eingabe des Benutzers zu erhalten, dabei gibt die Funktion eine Zeichenkette (string) zurück. Die ReadKey()-Funktion wird gerne am Ende einer Konsolen-Anwendung verwendet, um die Konsole so lange offen zu halten bis der Benutzer eine Taste drückt. Oftmals wird in einem solchen Fall auch ein wie Text „Bitte beliebige Taste drücken …“ ausgegeben, welcher mit der Write-Funktion zuvor auf die Konsole geschrieben werden muss. Die Funktion SetCursorPosition() setzt die Cursor-Position. In der Konsole wird eine Rasterschrift verwendet, wodurch sich die Konsole in Spalten und Zeilen einteilen lässt. Um nun den Cursor auf eine einzelne Zelle zu setzen, benötigen wir die Nummer der Zeile und die Nummer der Spalte. Zu beachten ist, dass die Zählung bei 0 beginnt. Die Position 0,0 ist also die erste Spalte und die erste Zeile. Die erste Zahl bestimmt die Spalte und die zweite Zahl die Zeile. Die Funktion Clear() leert die komplette Konsole. Dabei wird auch die Hintergrundfarbe für alle Zellen übernommen.

Program.cs

string sEingabe;

// Einstellungen ändern
Console.Title = "C#-Buch 2015";
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;

// Eingabe auffordern
Console.Write("Ihre ");
Console.WriteLine("Eingabe:");
Console.SetCursorPosition(5, 1);
sEingabe = Console.ReadLine();

// Eingabe ausgeben
Console.WriteLine();
Console.WriteLine("Ihre Eingabe: " + sEingabe);
Console.WriteLine();
Console.WriteLine("Drücken Sie eine Taste ...");
Console.ReadKey();

// nachdem Löschen der Konsole ("Clear") ist der komplette 
// Hintergrund an die gesetzte Farbe angepasst
Console.Clear();
Console.ForegroundColor = ConsoleColor.Magenta;

Console.WriteLine("Hallo Welt!");

Console.ReadKey();
Download

LinksRechts