C# – Konsoleneingabe

C# Anleitung

Konsoleneingabe in C#

Voraussetzung:

• C# – Ausdrücke und Operatoren

Anwendungsbeispiel:

Kaum ein Programm kommt ohne Benutzereingaben zurecht, dies wird allerdings meistens durch GUI´s (Graphical User Interfaces) umgesetzt. Es wäre an dieser Stelle zu früh, um mit einer GUI zu arbeiten, da es mehr Wissen benötigt um die Funktionsweise einer GUI wirklich verstehen zu können. Deswegen begnügen wir uns in diesem Tutorial mit der Konsole.

Tutorial Konsoleneingabe in C#

Der Benutzer kann in der Konsole Zeichen eingeben, die im sogenannten Buffer (englisch ausgesprochen: Baffer) landen.

Der Buffer ist nichts anderes als mehrere Speicherzellen hintereinander, in denen jeweils ein eingebenes Zeichen steht.

Auslesen des Buffers

Für das Auslesen des Buffers bietet uns C# eine fertige Methode, die uns einiges abnimmt:

So landet die Eingabe allerdings im Nirwana. Also musst Du die Eingabe entweder direkt verarbeiten oder einer Variable zuweisen, wie in folgendem Beispiel:

Mit diesem Code werden alle Zeichen aus dem Buffer ausgelesen, bis ein \n kommt, was einem „ENTER“ auf der Tastatur entspricht.

Du erhälst ein string zurück, also eine Zeichenkette, die Du weiterverarbeiten kannst. Dies werde ich gleich noch ausführlicher erklären.

Hier noch 2 weitere Methoden um Eingaben abzufragen:

Mit diesem Befehl kann man bis zu 4 Bytes aus dem Buffer auslesen.

Mit diesem Befehl wartet das Programm bis der Benutzer ein Zeichen eingibt und arbeitet erst dann weiter.

Bei all diesen Methoden werden die ausgelesenen Zeichen automatisch aus dem Buffer gelöscht.

Mit einem dieser Befehle kannst Du auch dafür Sorgen, dass sich die Konsole nicht bei normalem Debuggen einfach schließt. Schreibe am Ende deines Programms z.B. ein Read() und das Programm wird erst beendet, wenn der Benutzer eine Taste gedrückt hat.

 

Umwandeln von Daten

Da Du mit den Eingabebefehlen strings zurück bekommst, man mit diesen aber nicht rechnen kann müssen die Daten umgewandelt werden.
C# kann über die Convert-Klasse einen Datentyp in einen anderen Umwandeln. Dabei ist wichtig, dass nicht jede Zeichenkette in jeden Datentyp umgewandelt werden kann.

So kann z.B. die Zeichenkette „abc“ nicht zu einem Integer (int) gewandelt werden, sondern nur Zahlen.

Hier ein kleines Programm, das zeigt wie Du Daten umwandelst mit ihnen rechnest und sie wieder ausgibst.

Hierbei ist der wichtige Teil, der die Umwandlung betrifft: Convert.ToInt32(Console.ReadLine()).

Probier etwas mit den Convert-Befehlen herum.
Dies wird später auch bei GUI´s benötigt.

Zum nächsten Tutorial >> C# – Kontrollstrukturen

Vielleicht gefällt Dir auch...

2 Antworten

  1. 27. Januar 2015

    […] C# – Konsoleneingabe […]

  2. 23. März 2015

    […] C# – Konsoleneingabe […]

Schreibe einen Kommentar