【发布时间】:2016-08-03 01:24:12
【问题描述】:
我有一些代码会在用户输入“q”时退出程序
//press 'q' to quit application
ConsoleKeyInfo info = Console.ReadKey(true); ;
while (info.KeyChar != 'q') {
info = Console.ReadKey(true);
}
如果捕获的键是“p”,我该如何修改这个结构,以便有不同的非终止行为?
如果我将条件更改为:
(info.KeyChar != 'q') && (info.KeyChar != 'p')
那么 'p' 也会终止程序。即使我将逻辑放在 while 循环中来处理“p”的情况。
还有:
ConsoleKeyInfo info = Console.ReadKey(true);
while (true) {
info = Console.ReadKey(true);
if (info.KeyChar == 'q') break;
else if (info.KeyChar == 'p') {
//other behavior
}
}
由于某种原因要求用户按两次'q'结束程序,但预期的行为是通过一键触发操作。
【问题讨论】:
-
查看
switch关键字。 -
我知道 switch 但这将如何解决我的问题?请参阅我的问题末尾的代码
-
我认为第二种解决方案可以,只需放置 info = Console.ReadKey(true);在 if else 之后,它不应该要求按两次键。
-
是的,已修复,谢谢
标签: c# while-loop readkey