C#如何通过Console.ReadKey()获取是否有键按下返回bool值?
我想做一个判断就比如if(!Console.ReadKey())...但是肯定这样是不行的,然后我就用下面的方法:if(!Convert.ToBoolean(Consta...
我想做一个判断就比如
if(!Console.ReadKey())...但是肯定这样是不行的,然后我就用下面的方法:
if(!Convert.ToBoolean(Constants.key = Convert.ToChar(Console.ReadKey(true))))...
虽然编译通过了,但是运行时按键会出现下面的错误:
“System.InvalidCastException”类型的未经处理的异常在 mscorlib.dll 中发生
其他信息: 无法将类型为“System.ConsoleKeyInfo”的对象强制转换为类型“System.IConvertible”。
求教我该如何处理这种错误?
//如果有键按下或时间超过自动前进时间间隔则终止循环
while(!(Constants.gameover =
!Convert.ToBoolean(Constants.start.AddSeconds(this.gamespeed).CompareTo(DateTime.Now)))
&& !Convert.ToBoolean(Constants.key =
Convert.ToChar(Console.ReadKey(true))));
下面还有的就是if语句对按键的判断操作了。 关键的地方是while语句。你看看吧 展开
if(!Console.ReadKey())...但是肯定这样是不行的,然后我就用下面的方法:
if(!Convert.ToBoolean(Constants.key = Convert.ToChar(Console.ReadKey(true))))...
虽然编译通过了,但是运行时按键会出现下面的错误:
“System.InvalidCastException”类型的未经处理的异常在 mscorlib.dll 中发生
其他信息: 无法将类型为“System.ConsoleKeyInfo”的对象强制转换为类型“System.IConvertible”。
求教我该如何处理这种错误?
//如果有键按下或时间超过自动前进时间间隔则终止循环
while(!(Constants.gameover =
!Convert.ToBoolean(Constants.start.AddSeconds(this.gamespeed).CompareTo(DateTime.Now)))
&& !Convert.ToBoolean(Constants.key =
Convert.ToChar(Console.ReadKey(true))));
下面还有的就是if语句对按键的判断操作了。 关键的地方是while语句。你看看吧 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询