我在c#中编写了以下代码,代码有错误:
switch (Console.ReadKey(true).KeyChar)
{
case ConsoleKey.DownArrow:
Console.SetCursorPosition(x,y);
break;
}
错误:
错误 1 无法将类型“System.ConsoleKey”隐式转换为“char”。存在显式转换(您是否缺少演员表?)
怎么了?
我在c#中编写了以下代码,代码有错误:
switch (Console.ReadKey(true).KeyChar)
{
case ConsoleKey.DownArrow:
Console.SetCursorPosition(x,y);
break;
}
错误:
错误 1 无法将类型“System.ConsoleKey”隐式转换为“char”。存在显式转换(您是否缺少演员表?)
怎么了?
你需要
switch (Console.ReadKey(true).Key)
{
case ConsoleKey.DownArrow:
Console.SetCursorPosition(x,y);
break;
}
反而。
常量ConsoleKey.DownArrow
是类型ConsoleKey
,whileConsole.ReadKey(true).KeyChar
是类型char
。由于char
和ConsoleKey
是不同的类型,因此此代码无法编译。相反,如果你使用返回值的Key属性,你会得到一个,它与 switch 语句中的 case 类型相同。ReadKey
ConsoleKey