C# Vérifier si ConsoleKeyInfo.KeyChar est un nombre
ConsoleKeyInfo CKI = Console.ReadKey(true);
CKI.KeyChar est l'équivalent unicode du caractère d'entrée
Alors si j'avais appuyez sur " 1 " dans l'invite de la console CKI.KeyChar serait 49, pas la valeur '1'.
Comment puis-je obtenir la valeur '1'?
Je sais que c'est une façon détournée d'obtenir l'entrée, mais ses la façon dont mon maître veut-il si je ne peux pas faire autrement.
Edit: j'ai besoin de la valeur que l'utilisateur a donné, parce que je vais avoir à vérifier si ses moins de 9
OriginalL'auteur user1534664 | 2012-09-28
Vous devez vous connecter pour publier un commentaire.
Utiliser le
.KeyChar
propriété et de comparer avecChar.IsNumber
.Pour obtenir l'équivalent numérique, vous pouvez utiliser
Int32.Parse
ouInt32.TryParse
:Application De Test:
OriginalL'auteur Brad Christie
Utiliser ceci:
Si vous avez besoin de les convertir en un nombre, utilisez ceci:
Afin de vérifier si sa inférieur à 9, puis vous faites cela:
Depuis quand
int.Parse
accepterchar
?Il ne le fait pas, il a dû être converties en chaîne avant que je puisse l'analyser.
Je Viens de correction du code pour convertir le char à une chaîne de caractères avant de l'analyser.
OriginalL'auteur Icemanind
49 est juste un code ascii, de sorte que vous pouvez faire
char c = (char) 49
et obtenir le véritable caractère.OriginalL'auteur kprobst
Vous pouvez le faire d'une manière (voir ci-dessous), ou vous pouvez utiliser l'enum
ConsoleKey
à identifier quelle touche a été pressée —ConsoleKey.D[0-9]
normales sont, les chiffres clés, etConsoleKey.NumPad[0-9]
le pavé numérique touches. Pouvez vérifier ce modificateurs ont été pressées à l'aide de l'enumConsoleModifiers
. Que enum a laFlags
attribut sur elle, de sorte que les valeurs peuvent être combinées avec de l'or au niveau du bit. Par exemple, si la propriétéConsoleKeyInfo.Modifiers
estConsoleModifiers.Control|ConsoleModifiers.Alt
, alors l'utilisateur a appuyé sur le bouton [CTL] et [ALT] touches ainsi que de toute autre touche a été pressée.OriginalL'auteur Nicholas Carey