0

我已经在网上搜索了大约一个小时,但我找不到我的问题的答案。我对编程很陌生,我希望我不会浪费你的时间。如果单击“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;
} 
4

3 回答 3

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
}
于 2013-08-30T08:45:33.207 回答
2

您以这种方式缺少击键。存储 Readkey 的返回值,以便将其拆分。
此外,C# 中的比较是使用单引号 ( ) 完成的==,字符常量使用单引号 ( ')。

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

if (key == 'y')
{
    Console.Clear();
}
else if (key == 'n')
{
   break;
}
于 2013-08-30T08:45:40.467 回答
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");
}
于 2013-08-30T08:50:35.587 回答