2013-08-18 75 views
2

我有一個C#控制檯應用程序下面的代碼:問題涉及到在C#控制檯應用程序NET

class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine("Hello..."); 
    } 
} 

當我運行該應用程序,命令提示符出現和突然消失了,但我在看過當我運行應用程序時,我的朋友的房子,命令提示符要求Press any key to Continue。當我按任意鍵後,應用程序終止..,但在我的電腦不工作,沒有寫Consol.ReadLine()

是否有一個設置讓用戶訪問Press Any Key to Continue行?

+0

它是因爲您的程序在完成後退出 – Rohit

回答

5

可悲的是沒有,但如果你調試 - >不開始調試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.*,但是這一點也不好笑:-))

0

消失正確的行爲。如果您希望它以這種方式出現,只需添加 Console.ReadKey();當然,您可以在之前添加一些消息(「按任意鍵...」)等。