2016-11-07 89 views
0

我在Visual Studio 2013上有一個控制檯應用程序。 .NET 4.5 我希望程序在完成特定任務後退出。所以,我用 System.Environment.Exit(0); 但它不會退出。它僅在控制檯上顯示: 按任意鍵繼續。System.Environment.Exit(0)不會退出程序

我該如何退出程序? 在此先感謝。

這裏iam檢查目錄是否爲空,然後退出程序,我也試過把System.Environment.Exit(0);在主要功能,但它什麼都沒做。

if (Directory.GetFiles(@"Q:\").Length == 0) 
    { 
     System.Environment.Exit(0); 
    } 
+1

你能發表一些代碼嗎? –

+0

我更新了問題 – Mike

+1

或者如果您處於Main方法,則只是'返回'。 –

回答

2
Press any key to continue 

像註釋上面已經說過,這聽起來很像你的IDE(大概的Visual Studio)將打印出一旦這個過程已經終止。在我的機器上,當我運行控制檯應用程序而沒有附加調試器時,我收到了這條消息,例如通過以開始它Ctrl + F5。一旦按下某個鍵,Visual Studio產生的控制檯窗口將關閉。這是預期的行爲。

嘗試使用附加的調試器運行程序,例如按F5。或者從命令提示符啓動程序,而不是從IDE啓動它。該消息不應該顯示。

還要注意的是,如果你有一個多線程的程序,並有運行非後臺線程,這可以保持一個過程活着,即使主線程已經終止。

0

退出控制檯應用程序的最優雅的方式是從Main方法返回。

如下簡單地聲明你的主要方法:

public static int Main(string[] args) 

,你可以使用

return x; 

退出與給定的返回碼的應用程序。

+0

Application.Exit給了我這兩個錯誤: 錯誤只有分配,調用,遞增,遞減,在等待着,新對象表達式可以用作聲明\t 錯誤「應用」是不明確的引用'System.Windows.Forms.Application'和'System.Windows.Application' – Mike

+0

@Mike之間我沒有談論'Application.Exit' - 你有沒有在正確的地方發表評論? –

+0

return x;不退出應用程序 – Mike

0

嘗試Application.Current.Shutdown()

+0

錯誤\t \t 2「System.Windows.Forms.Application」不包含對「當前」 \t 錯誤\t \t 1「應用」是系統之間」不明確的引用的定義。 Windows.Forms.Application'和'System.Windows.Application' – Mike

+0

爲什麼在控制檯應用程序中引用了Windows窗體和WPF程序集? –