Visual Studio上の私のコンソールアプリケーションは自動的に閉じてしまうので、Cのsystem("PAUSE")
のようなものを使って実行の終わりにアプリケーションを「一時停止」したいのですが、どうすればそれを達成できますか?
Console.ReadLine();
または
Console.ReadKey();
ReadLine()
は待つ ↩、 ReadKey()
キーを待つ(修飾キーを除く)。
編集:Darinからキーシンボルを盗んだ。
あなたの作業をコンパイル(デバッグを開始)することができます。 Ctrl+F5。
それを試してみてください。私はいつもやります、そしてコンソールは私に結果が開いているのを私に示しています。追加のコードは必要ありません。
プログラムを実行するには、Visual Studioで Ctrl + F5 を押してください。Console.Readline()またはReadKey()関数を使用せずに、[続行するには任意のキーを押してください...
ユーザーが待つのを待つConsole.ReadLine()
Enter キーを待つにはConsole.ReadKey
。
つかいます:
Console.ReadKey();
誰かが何かのキーを押したときに閉じるために、または
Console.ReadLine();
ユーザーが何かを入力してを押したときに入力します。
追加の行が不要なので、Ctrl + F5が適しています。そして最後に、エンターを押してランニングモードを終了することができます。
しかし、F5を使ってプログラムを起動してブレークポイントを設定すると、アプリケーションをデバッグでき、それによって他の利点が得られます。
あるいは、次のコードを使用して終了を遅らせることができます。
System.Threading.Thread.Sleep(1000);
Sleep
がミリ秒を使用していることに注意してください。
これらの解決策はあなたのプログラムがどのように動作するかを変えるものです。
コンソール呼び出しの前後に#if DEBUG
と#endif
を置くことはもちろん可能ですが、Visual Studioの開発マシンでのみウィンドウが閉じないようにしたい場合、または明示的に設定した場合にのみVSが実行されない場合は必要ありません。コマンドラインから実行するときに厄介な'Press any key to exit...'
が必要な場合は、System.Diagnostics.Debugger
APIを使用します。
それをDEBUG
でのみ動作させたい場合は、このコードを[Conditional("DEBUG")] void BreakConditional()
メソッドでラップしてください。
// Test some configuration option or another
bool launch;
var env = Environment.GetEnvironmentVariable("LAUNCH_DEBUGGER_IF_NOT_ATTACHED");
if (!bool.TryParse(env, out launch))
launch = false;
// Break either if a debugger is already attached, or if configured to launch
if (launch || Debugger.IsAttached) {
if (Debugger.IsAttached || Debugger.Launch())
Debugger.Break();
}
これは、昇格された特権を必要とするプログラムや自分自身を昇格させる必要があるプログラムをデバッグするためにも機能します。
ユーザーがanykeyを押してもプログラムを閉じたくない場合。
while (true) {
System.Console.ReadKey();
};//This wont stop app