提问人:Orxan Həsənzadə 提问时间:9/28/2023 最后编辑:Orxan Həsənzadə 更新时间:9/28/2023 访问量:48
C# 控制台中的 CTRL-C 延迟
CTRL-C Delay in C# Console
问:
当我的 C# 代码运行时,我按下 CTRL-C 以停止它运行。但是,它会在大约 1 秒后停止,并根据 switch 的“默认”情况运行。
我想让它立即停止。我错过了什么?我有几个这样的开关,这都发生在它们身上。除了开关之外,do-while 循环也存在同样的问题。它们都以默认情况处理 CTRL-C 输入,打印输入错误消息,然后阻止程序进一步执行。
public static void ManageMainMenu()
{
string? userInput;
do
{
Console.WriteLine("-----------------------------------------------------------");
Console.WriteLine("Please select your preferred option below:");
Console.WriteLine("1. Foods");
Console.WriteLine("2. Drinks");
Console.WriteLine("3. Exit");
userInput = Console.ReadLine()?.Trim();
switch (userInput)
{
case "1":
MenuManagement.ManageFoods();
break;
case "2":
MenuManagement.ManageDrinks();
break;
case "3":
Environment.Exit(0);
break;
default:
Console.WriteLine("Invalid Input! Please choose from the options above (1, 2, 3): ");
break;
}
} while (userInput != "3");
}
}
这是我立即按下 CTRL-C 时得到的结果:
Invalid Input! Please choose from the options above (1, 2, 3):
-----------------------------------------------------------
Please select your preferred option below:
1. Foods
2. Drinks
3. Exit
Process finished with exit code 0.
答: 暂无答案
评论
Main
Ctrl+C
Console.CancelKeyPress