输入密钥后CMD关闭
本文关键字:关闭 CMD 密钥 输入 | 更新日期: 2023-09-27 18:37:22
我正在使用Visual Studio 2015,转到项目文件夹>bin>debug>ConsoleApplication1并打开它,命令提示符打开并说:键入一个数字,任何数字! 如果我按任何键,命令提示符会立即关闭,再次尝试删除和编码但没有使用,仍然关闭,但是在Visual Studio中,当我按Ctrl + F5时,一切正常。
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Type a number, any number!");
ConsoleKeyInfo keyinfo = Console.ReadKey();
PrintCalculation10times();
if (char.IsLetter(keyinfo.KeyChar))
{
Console.WriteLine("That is not a number, try again!");
}
else
{
Console.WriteLine("Did you type {0}", keyinfo.KeyChar.ToString());
}
}
static void PrintCalculation()
{
Console.WriteLine("Calculating");
}
static void PrintCalculation10times()
{
for (int counter = 0; counter <= 10; counter++)
{
PrintCalculation();
}
}
}
在控制台应用程序中,我通常会在 main() 方法的末尾添加一些内容,以防止程序在读取输出之前关闭。或者在可以从任何控制台应用调用的单独实用工具方法中实现它...
while (Console.ReadKey(true).Key != ConsoleKey.Escape)
{
}
如果您愿意,您可以在此之后放置任何其他退出代码。
或者,您可以像这样处理 Ctrl-C:如何在 C# 控制台应用中捕获 ctrl-c 并在之后处理它。
这应该可以解决问题,请参阅我添加到代码中的注释以了解原因。
static void Main(string[] args)
{
Console.WriteLine("Type a number, any number!");
ConsoleKeyInfo keyinfo = Console.ReadKey();
PrintCalculation10times();
if (char.IsLetter(keyinfo.KeyChar))
{
Console.WriteLine("That is not a number, try again!");
}
else
{
Console.WriteLine("Did you type {0}",keyinfo.KeyChar.ToString());
}
//Without the something to do (as you had it) after you enter anything it writes a
//line and then has nothing else to do so it closes. Have it do something like this below to fix thisd.
Console.ReadLine(); //Now it won't close till you enter something.
}
编辑者请求添加此内容。答案是@ManoDestra在我看到他回应之前
给出的。您的循环将运行 11 次(对于 (int 计数器 = 0;计数器 <= 10;计数器++))。从 0 到 10(含 0 和 10)。使其<10 或从 1 开始。– 马诺德斯特拉
static void PrintCalculation10times()
{
for (int counter = 0; counter < 10; counter++) //Changed with
{
PrintCalculation();
}
}