与C#/NET中的控制台应用程序有关的问题
本文关键字:应用程序 问题 控制台 NET | 更新日期: 2023-09-27 18:28:01
我在C#控制台应用程序中有以下代码:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello...");
}
}
当我运行此应用程序时,命令提示符出现并突然消失,但我在朋友家看到,当我运行该应用程序时命令提示符要求Press any key to Continue
。当我按下任何键后,应用程序终止。。,但在我的电脑上,如果不写Consol.ReadLine()
,它就无法工作。
是否有将用户连接到Press Any Key to Continue
线路的设置?
遗憾的是没有,但如果您调试->启动而不调试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();
当然,你可以在之前添加一些消息("按任意键…")等。