C# - 使用ReadKey for循环

时间:2013-08-30 08:39:38

标签: c# loops while-loop readkey

我一直在网上搜索大约一个小时,但我无法找到问题的答案。我对编程非常陌生,我希望我不要浪费你的时间。我希望我的程序循环,如果我点击" Y",如果我点击" N"如果我点击任何其他按钮,什么也不做。干杯!

Console.Write("Do you wan't to search again? (Y/N)?");
if (Console.ReadKey() = "y")
{
    Console.Clear();
}
else if (Console.ReadKey() = "n")
{
    break;
} 

3 个答案:

答案 0 :(得分:3)

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

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

//Get the key
var cki = Console.ReadKey();

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

答案 1 :(得分:2)

你错过了这种击键方式。存储Readkey的返回值,以便将其拆分 此外,C#中的比较是使用==完成的,而char常量使用单引号(')。

ConsoleKeyInfo keyInfo = Console.ReadKey();
char key = keyInfo.KeyChar;

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

答案 2 :(得分:1)

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

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");
}