首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# -使用ReadKey for循环

C# -使用ReadKey for循环
EN

Stack Overflow用户
提问于 2013-08-30 16:39:38
回答 3查看 2.8K关注 0票数 0

我已经在网上搜索了大约一个小时,我就是找不到我的问题的答案。我是编程新手,希望没有浪费您的时间。我希望我的程序在我单击"Y“时循环,如果我单击"N”则退出,如果我单击任何其他按钮则什么也不做。干杯!

代码语言:javascript
复制
Console.Write("Do you wan't to search again? (Y/N)?");
if (Console.ReadKey() = "y")
{
    Console.Clear();
}
else if (Console.ReadKey() = "n")
{
    break;
} 
EN

回答 3

Stack Overflow用户

发布于 2013-08-30 16:45:33

这里有一个Console.ReadKey方法的示例:

http://msdn.microsoft.com/en-us/library/471w8d85.aspx

代码语言:javascript
复制
//Get the key
var cki = Console.ReadKey();

if(cki.Key.ToString() == "y"){
    //do Something
}else{
    //do something
}
票数 3
EN

Stack Overflow用户

发布于 2013-08-30 16:45:40

这样您就会错过击键操作。存储Readkey的返回值,以便将其拆分。

此外,在C#中使用==进行比较,字符常量使用单引号(')。

代码语言:javascript
复制
ConsoleKeyInfo keyInfo = Console.ReadKey();
char key = keyInfo.KeyChar;

if (key == 'y')
{
    Console.Clear();
}
else if (key == 'n')
{
   break;
}
票数 2
EN

Stack Overflow用户

发布于 2013-08-30 16:50:36

您可以使用keychar来检查字符是否被按下,可以通过以下示例来理解

代码语言:javascript
复制
Console.WriteLine("... Press escape, a, then control X");
// Call ReadKey method and store result in local variable.
// ... Then test the result for escape.
ConsoleKeyInfo info = Console.ReadKey();
if (info.Key == ConsoleKey.Escape)
{
    Console.WriteLine("You pressed escape!");
}
// Call ReadKey again and test for the letter a.
info = Console.ReadKey();
if (info.KeyChar == 'a')
{
    Console.WriteLine("You pressed a");
}
// Call ReadKey again and test for control-X.
// ... This implements a shortcut sequence.
info = Console.ReadKey();
if (info.Key == ConsoleKey.X &&
    info.Modifiers == ConsoleModifiers.Control)
{
    Console.WriteLine("You pressed control X");
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18528518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档