Konsole.ReadKey (); und Switch-Anweisung - mit Buchstaben

8

Ich versuche, ein Programm in C # zu machen, das grundsätzlich auf der Basis des Schlüssels funktioniert, den ein Benutzer drückt (z. B. X = Beenden, D = Trennen usw.), indem er Console.ReadKey () verwendet; in c #

Das Problem, auf das ich gestoßen bin, ist die Verwendung der ReadKey-Informationen in einer Switch-Anweisung. Kann jemand bitte helfen? Der Code ist unten.

%Vor%

Ich weiß, das ist wahrscheinlich wirklich falsch, aber ich habe ursprünglich mit Console.ReadLine () begonnen; Der einzige Unterschied besteht darin, dass ich eine Funktion aktivieren möchte, wenn Sie eine einzige Taste drücken, anstatt die Eingabetaste drücken oder verschiedene Tasten eingeben zu müssen. Vielen Dank im Voraus!

    
CSharpNewGuy 08.08.2011, 23:04
quelle

3 Antworten

17

Erstens funktioniert Convert.ToChar() nicht in ConsoleKeyInfo structure, deshalb haben Sie Probleme, diese Konvertierung wird eine Ausnahme auslösen.

Sie müssen Ihren Schlüssel nicht in ein Zeichen konvertieren, stattdessen können Sie die Eigenschaft .Key aktivieren, die ein Enumerable ist, das jeden Schlüssel enthält:

%Vor%

Bearbeiten:

  1. Sie können auch input.KeyChar verwenden, um zu erhalten, was Sie zuerst versucht haben - Zeichen, dann können Sie es einschalten, wenn Sie wollen, aber es ist schwierig, verschiedene Schlüssel wie Pfeile usw. einzuschalten.
  2. Wenn es Ihnen wichtig ist, ob der Buchstabe groß oder klein ist, können Sie .KeyChar verwenden oder .Key mit .Modifiers verwenden, um zu überprüfen, ob die Umschalttaste gedrückt wurde, als der Benutzer den Buchstaben
  3. eingegeben hat
Marcin Deptuła 08.08.2011 23:09
quelle
12

Sie können Eingaben einfach als:

verwenden %Vor%     
SMK 08.08.2011 23:37
quelle
1

mit Console.ReadKey () gibt einen Typ einer Struktur ConsoleKeyInfo zurück. Sie müssen also die Rückgabe in einer Variablen von diesem Typ erhalten. Schalten Sie dann den Schlüssel Enumerator ein, der alle Zeichen enthält.

%Vor%     
Ahmed Fotouh 22.11.2016 13:34
quelle

Tags und Links