簡體   English   中英

與C#/ NET中的控制台應用程序有關的問題

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM