[英]Issue related to a console application in C#/NET
我在C#控制台应用程序中具有以下代码:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello...");
}
}
当我运行此应用程序时,命令提示符出现并突然消失,但是当我运行该应用程序时我在朋友家见过,命令提示符要求Press any key to Continue
。 当我按任意键之后,应用程序终止..,但是在我的PC中,如果不编写Consol.ReadLine()
它将无法正常工作。
是否有将用户引导到“ Press Any Key to Continue
行的设置?
遗憾的是,但是,如果您使用Debug-> Start Without Debugging Ctrl + F5 ,它将产生这种效果。
显然,您可以添加
Console.Write("\nPress Any Key to Continue");
Console.Readkey();
在程序结束时。
如果要(几乎)确保您的代码将始终显示该提示:
AppDomain.CurrentDomain.ProcessExit += (sender, e) =>
{
Console.Write("\nPress Any Key to Continue");
Console.ReadKey();
};
将这些行放在Main()
方法的开头。
但是我认为这有点过分了:-)它安装了一个退出处理程序,它将在退出时要求输入密钥。
现在,如果您真的想过分展示自己,可以增加到11个:
if (Debugger.IsAttached)
{
AppDomain.CurrentDomain.ProcessExit += (sender, e) =>
{
Console.Write("\nPress Any Key to Continue");
Console.ReadKey();
};
}
仅在连接了调试器的情况下,才要求输入密钥(即使这些行也必须放在Main()
方法的开头。它们将替换其他版本)。 使用“ Start Without Debugging
,调试器未连接,因此Visual Studio将显示其提示而不是您的提示。
(而不是使用AppDomain.CurrentDomain.ProcessExit
,您可以使用try...finally
块保护整个Main(),并最终放置在Console.*
,但这并不有趣:-))
消失是正确的行为。 如果您希望它以这种方式显示,只需添加Console.ReadKey();
当然,您可以先添加一些消息(“按任意键...”),等等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.