[英]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.