Мне известен этот вопрос , но он не отвечает на мой текущий вопрос.
Я знаю, что текущая строка дает мне следующую нажатую клавишу:
$Host.UI.RawUI.ReadKey().Character
Например, если я нажму 1
, я получу 1
.
Но это строка (ну, на самом деле, это символ), я хочу, чтобы число было целым числом.
Я пытаюсь с:
[int]$Host.UI.RawUI.ReadKey().Character
И:
$Host.UI.RawUI.ReadKey().Virtualkeycode
Но в обеих строках, если вы нажмете 1
, вместо этого вы получите 49
.
Я знаю, что могу просто сделать:
[int]$Host.UI.RawUI.ReadKey().Character - 48
Но мне было интересно, есть ли лучший способ сделать это.Например, если я хочу получить как буквы, так и цифры, использование -48
усложнит задачу, поскольку мне нужно будет использовать некоторые условные блоки.
Итак, мой вопрос: Есть ли лучший способ получить нажатой клавишу (число) как целое число, а не [int]$Host.UI.RawUI.ReadKey().Character - 48
?