C# Console.ReadLine()可选
我有以下控制台应用程序:C# Console.ReadLine()可选,c#,console,key,C#,Console,Key,我有以下控制台应用程序: private static bool run = false; static void Main(string[] args) { int choice = 0; while (!run) { Console.WriteLine("\n\t\t Press '1', '2' or '3' to continue"); choice = int.Parse(Console.ReadLine());
private static bool run = false;
static void Main(string[] args)
{
int choice = 0;
while (!run)
{
Console.WriteLine("\n\t\t Press '1', '2' or '3' to continue");
choice = int.Parse(Console.ReadLine());
switch (choice)
{
case 1:
{
Console.Clear();
Console.WriteLine("\n\t\t you pressed 1");
}
case 2:
{
Console.Clear();
Console.WriteLine("\n\t\t you pressed 2");
}
case 3:
{
Console.Clear();
Console.WriteLine("\n\t\t you pressed 3");
}
default:
{
Console.Clear();
Console.WriteLine("\n\t\t Invalid key");
break;
}
}
}
Console.ReadLine();
}
但是,使用此代码:
choice = int.Parse(Console.ReadLine());
我希望这样,当用户按下1键或2键或3键时,可以立即执行相应的代码,而不是在按下所需键后必须按下enter键。有哪些替代方案
非常感谢任何帮助/指导/提示,
谢谢那么呢?那么呢?你能举个例子,说明我如何使用ReadKey这个行选项=int.Parse(Console.ReadLine());Thanks@Ari:
ReadKey
返回一个ConsoleKeyInfo
,您可以直接打开它的键
,而无需对整数进行任何解析。如果你真的必须解析某些东西,你可以解析KeyChar
。@Ari:…但是,你也可以直接打开这个字符。@Ari:我通常不想“铁路化”我的答案,有多种方法可以使用ReadKey
,我无法告诉人们应该使用哪种方法。我想这些评论对于那些不知道的人来说已经足够了,还有我链接到的文档也给出了一个例子;Thanks@Ari:ReadKey
返回一个ConsoleKeyInfo
,您可以直接打开它的键
,而无需对整数进行任何解析。如果你真的必须解析某些东西,你可以解析KeyChar
。@Ari:…但是,你也可以直接打开这个字符。@Ari:我通常不想“铁路化”我的答案,有多种方法可以使用ReadKey
,我无法告诉人们应该使用哪种方法。我认为这些评论对于那些不知道的人来说已经足够了,还有我链接的文档,也给出了一个例子。