ReadLine()
ist eine Methode aus dem .NET Framework, die in C# verwendet wird, um eine ganze Zeile Text von einer Eingabequelle wie der Konsole zu lesen. Sie gehört zur Klasse Console
im Namespace System
.
Syntax:¶
In [1]:
string input = Console.ReadLine();
Command cancelled.
Funktionsweise:¶
- Eingabe lesen:
Console.ReadLine()
wartet darauf, dass der Benutzer eine Eingabe macht und die Eingabetaste drückt. - Rückgabewert: Die Methode gibt die gesamte Zeile als Zeichenkette (
string
) zurück. Dies beinhaltet alle Zeichen, die der Benutzer eingibt, aber ohne den abschließenden Zeilenumbruch. - Null-Rückgabe: Wenn die Eingabequelle keine Daten mehr bereitstellt (z. B. beim Lesen aus einer Datei oder einem Stream), gibt
ReadLine()
null
zurück.
Beispiel:¶
In [3]:
Console.WriteLine("Bitte geben Sie Ihren Namen ein:");
string name = Console.ReadLine();
Console.WriteLine($"Hallo, {name}!");
Bitte geben Sie Ihren Namen ein:
Command cancelled.
- In diesem Beispiel wird der Benutzer nach seinem Namen gefragt, und die Eingabe wird in der Variablen
name
gespeichert. Anschließend wird die Eingabe in einer Begrüßungsnachricht verwendet.
Wichtige Punkte:¶
- Blockierende Methode:
ReadLine()
ist blockierend, was bedeutet, dass das Programm anhält, bis der Benutzer eine Eingabe macht. - Keine Fehlerbehandlung für leere Eingaben: Wenn der Benutzer einfach nur die Eingabetaste drückt, gibt
ReadLine()
einen leeren String zurück (keine Zeichen), aber keinen Fehler.
Anwendung:¶
- Ideal für einfache Benutzereingaben in Konsolenanwendungen.
- Kann in Kombination mit Schleifen verwendet werden, um wiederholt Eingaben vom Benutzer zu sammeln, bis eine bestimmte Bedingung erfüllt ist.
ReadLine und TicTacToe¶
Bei TicTacToe müssen die Spieler steuern können, wo ihr nächster Stein gesetzt wird. Das kann man z.B. so erreichen:
In [2]:
// Deklariert eine statische Variable, die den aktuellen Spieler speichert.
// Zu Beginn des Spiels ist der erste Spieler 'X'.
static char currentPlayer = 'X';
// Gibt eine Nachricht an die Konsole aus, die den aktuellen Spieler anzeigt
// und ihn auffordert, ein Feld zwischen 1 und 9 zu wählen.
Console.WriteLine($"Spieler {currentPlayer}, wähle ein Feld (1-9):");
// Liest die Eingabe des Benutzers von der Konsole, konvertiert die Eingabe
// (die als String vorliegt) in eine Ganzzahl und speichert sie in der Variable 'choice'.
int choice = int.Parse(Console.ReadLine());
Spieler X, wähle ein Feld (1-9):
Command cancelled.
Ausführliche Erklärung...
- Variable für den aktuellen Spieler: Diese Zeile legt fest, dass das Spiel mit Spieler X beginnt.
- Ausgabeaufforderung: Hier wird dem Spieler angezeigt, dass er an der Reihe ist, und es wird nach seiner Eingabe gefragt.
- Benutzereingabe: Der Code liest die Eingabe des Spielers und wandelt sie in eine Ganzzahl um, die die Wahl des Feldes repräsentiert.