[英]How to keep console window open
當我運行我的程序時,控制台窗口似乎運行並關閉。 如何保持打開狀態以便我可以看到結果?
class Program
{
public class StringAddString
{
public virtual void AddString()
{
var strings2 = new string[] { "1", "2", "3", "4", "5","6", "7", "8", "9"};
Console.WriteLine(strings2);
Console.ReadLine();
}
}
static void Main(string[] args)
{
StringAddString s = new StringAddString();
}
}
將 Console.Read() 作為程序的最后一行。 這將阻止它關閉,直到你按下一個鍵
static void Main(string[] args)
{
StringAddString s = new StringAddString();
Console.Read();
}
如果你想在調試的時候讓它保持打開狀態,但在不調試的時候仍然讓它正常關閉,你可以這樣做:
if (System.Diagnostics.Debugger.IsAttached) Console.ReadLine();
與其他答案一樣,對Console.ReadLine()
的調用將使窗口保持打開狀態,直到按下 Enter,但只有在連接了調試器時才會調用Console.ReadLine()
。
我知道有兩種方式
1) 程序末尾的Console.ReadLine()
。 缺點,你要改你的代碼,還得記得把它拿出來
2) 在調試器CONTROL-F5
之外運行,這會在 Visual Studio 之外打開一個控制台窗口,並且該窗口在完成后不會關閉。 優點,您不必更改代碼。 缺點,如果有異常,它不會掉到調試器中(但是當你得到異常時,你可以簡單地在調試器中重新運行它)
Console.ReadKey(true);
這個命令比 readline 好一點,它只在你按下回車鍵時才通過,並且 true 參數在讀取結果時也會隱藏丑陋的閃爍光標:) 然后任何擊鍵終止
你忘了調用你的方法:
static void Main(string[] args)
{
StringAddString s = new StringAddString();
s.AddString();
}
它應該停止您的控制台,但結果可能不是您所期望的,您應該稍微更改您的代碼:
Console.WriteLine(string.Join(",", strings2));
您無需用戶輸入即可處理此問題。
Step 1. 在主線程開始創建一個 ManualRestEvent
ManualResetEvent manualResetEvent = new ManualResetEvent(false);
第2步 。 等待手動重置事件
manualResetEvent.WaitOne();
步驟 3.停止
manualResetEvent.Set();
寫Console.ReadKey();
在main()
方法的最后一行。 此行阻止完成控制台。 我希望它會幫助你。
如果您使用 Visual Studio,只需使用 Crtl + F5 而不是 F5 運行應用程序。 這將使控制台在完成執行后保持打開狀態。
最后使用 Console.Readline() 。直到您手動關閉它,您的代碼才會關閉。由於 Readline 等待需要為您的代碼輸入的輸入,因此您的控制台將一直打開,直到您輸入一些輸入。
對於 Visual c# 控制台應用程序使用:
Console.ReadLine();
Console.Read();
Console.ReadKey(true);
對於 Visual C++ win32 控制台應用程序使用:
system("pause");
按 ctrl+f5 運行應用程序。
確保使用Console.ReadLine();
保持前面的Console.WriteLine("");
關閉消息。
為了能夠在不關閉的情況下為其提供輸入,您可以將代碼包含在 while 循環中
while (true)
{
<INSERT CODE HERE>
}
它將繼續停在Console.ReadLine();
,然后在輸入內容時執行另一個循環。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.