根据Enum检查ReadKey

本文关键字:ReadKey 检查 Enum 根据 | 更新日期: 2023-09-27 18:03:24

我有这个枚举用于所有四种可能的箭头键

enum Direction{up=ConsoleKey.UpArrow, left=Consolekey.LeftArrow,...};

private ConsoleKeyInfo userSelect;

private bool mQuit;

然后是

     public void getUserInput()
     {
        userSelect = Console.ReadKey()
        if (userSelect.Key == ConsoleKey.Escape)
        {
            mQuit = true;
        }
       else if(userSelect.Key == "check if key press is value in enumeration")
       {
        //implementation
       }
    }

不知道检查"如果Key press是enum中的值之一"的代码是什么什么好主意吗?

根据Enum检查ReadKey

else if(Enum.IsDefined(typeof(Direction), userSelect.Key)) {
    //Logic
}

可以使用强制转换来解决这个问题。

if (userSelect.Key == (ConsoleKey)myEnum)
{
}