我在C#中编写了以下代码,但出现错误
编码:

switch (Console.ReadKey(true).KeyChar)
{
    case ConsoleKey.DownArrow:
        Console.SetCursorPosition(x,y);
        break;
}

错误:



怎么了?

最佳答案

你需要

switch (Console.ReadKey(true).Key)
{
    case ConsoleKey.DownArrow:
        Console.SetCursorPosition(x,y);
        break;
}

代替。

常量ConsoleKey.DownArrow的类型为ConsoleKey,而Console.ReadKey(true).KeyChar的类型为char。由于charConsoleKey是不同的类型,因此无法编译此代码。相反,如果您使用ReadKey返回值的Key属性,则会得到ConsoleKey,其类型与switch语句中的案例相同。

关于c# - 无法将类型 'System.ConsoleKey'隐式转换为 'char',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10355557/

10-11 16:57