我在Visual Studio 2013中用C#编写了一个简单的程序。 在我的程序结束时,我指示用户:
"请按Enter退出程序。"
我想从下一行的键盘输入,如果按下 ENTER ,程序将退出。
谁能告诉我如何实现这个功能?
我尝试过以下代码:
Console.WriteLine("Press ENTER to close console......");
String line = Console.ReadLine();
if(line == "enter")
{
System.Environment.Exit(0);
}
答案 0 :(得分:5)
请尝试以下操作:
ConsoleKeyInfo keyInfo = Console.ReadKey();
while(keyInfo.Key != ConsoleKey.Enter)
keyInfo = Console.ReadKey();
你也可以使用do-while。更多信息:Console.ReadKey()
答案 1 :(得分:2)
如果您以这种方式编写本程序:
System.Environment.Exit(0);
示例:强>
class Program
{
static void Main(string[] args)
{
//....
Console.WriteLine("Press ENTER to exit...");
Console.ReadLine();
}
}
另一个例子:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Press Enter in an emplty line to exit...");
var line= "";
line = Console.ReadLine();
while (!string.IsNullOrEmpty(line))
{
Console.WriteLine(string.Format("You entered: {0}, Enter next or press enter to exit...", line));
line = Console.ReadLine();
}
}
}
又一个例子:
如果需要,您可以检查Console.ReadLine()
读取的值是否为空,然后Environment.Exit(0);
//...
var line= Console.ReadLine();
if(string.IsNullOrEmpty(line))
Environment.Exit(0)
else
Console.WriteLine(line);
//...
答案 2 :(得分:2)
像这样使用Console.ReadKey(true);
:
ConsoleKeyInfo keyInfo = Console.ReadKey(true); //true here mean we won't output the key to the console, just cleaner in my opinion.
if (keyInfo.Key == ConsoleKey.Enter)
{
//Here is your enter key pressed!
}