如何检查是否有2个可能的键被按下与ConsoleKeyInfo

本文关键字:ConsoleKeyInfo 2个 何检查 检查 是否 | 更新日期: 2023-09-27 18:09:07

我遇到了一个相当愚蠢的问题与ConsoleKeyInfo。我想检查是否使用numpad或常规顶部数字键输入"1"。

 ConsoleKeyInfo keyPressed;
 keyPressed = Console.ReadKey();
 if (keyPressed = ConsoleKey.D1 || keyPressed = ConsoleKey.NumPad1)
 { }

由于某些原因,我不能使用"||"操作符。是否有可能以某种方式在1 if循环中检查它而不使用Console.ReadLine();并强迫用户按enter?

如何检查是否有2个可能的键被按下与ConsoleKeyInfo

您必须与==而不是=进行比较。否则你是在尝试赋值。

你必须比较ConsoleKeyInfo的Key属性,它包含ConsoleKey枚举。

所以你的if应该看起来像:

if (keyPressed.Key == ConsoleKey.D1 || keyPressed.Key == ConsoleKey.NumPad1)