コンソールが一瞬で消える場合の対処方法

  • このエントリーをはてなブックマークに追加

スポンサーリンク

※サイト運営にサーバーは必須です※
~このサイトもエックスサーバーを使用しています~

コンソールが一瞬で消える時の2つの解決方法

Visual Studioで作成したコンソールアプリケーションが一瞬で閉じる場合、以下のようにすれば、解決します。

解決方法1:デバッグなしで実行(Ctrl+F5)

プログラムを実行する際に、デバッグの開始(F5)でなく、デバッグなしで実行(Ctrl+F5)を使用します。

※ショートカットキーを使わない場合は、上のタブの「デバッグ」から「デバッグなしで実行」を選択する。

 

注意:コードを実行する方法には、緑色の△ボタンを押す方法も考えられます。しかし、これは(Ctrl+F5)でなく、F5に対応しています。そのため、この△を押しても、コンソールアプリケーションが一瞬で閉じる問題に対しては無力です。

※下図、赤枠に囲まれているボタンのことです。

 

Ctrl+F5で実行すれば、最後に「続行するには何かキーを押してください . . .」と表示されるようになります。

ただし、このやり方は、以下の2点で注意しないといけません。

1:Ctrl+F5で実行ファイル(exeファイル)を生成したとしても、その実行ファイルは、「続行するには何かキーを押してください . . .」が表示されません。つまり、結果物として得られるexeファイルの挙動は、最後で止まるか止まらないかの観点において、Ctrl+F5とF5に違いはありません。

※デフォルトの設定では「bin\Debug」(出力パス)の下に実行ファイルが生成されます。

2:説明に書いてある通り、デバッグは行われません。つまり、F9を押して、ブレイクポイントを置いても無視されます。

解決方法2:プログラムの最後にConsole.ReadKey();を書き加える。

Console.ReadKeyメソッドは、ユーザーが入力したキーを読み取るために使われます。

例えば、Enterキーを押したら「Enter」を読み取ります。Aボタンを押したら「A」を読み取ります。

このことをうまく利用してあげます。

Console.ReadKey();と書けば、ユーザーが何かしらのキーを押さない限り、プログラムが終わりません。逆に言えば、何かしらのキーが押されたら、Console.ReadKeyメソッドの処理は終了して、コンソールが閉じます。

※Console.ReadKeyメソッドの使い方:Console.ReadKeyメソッドの使い方について

代替方法

Console.ReadKey();の代わりにConsole.ReadLine();を使う方法も考えられなくはありません。

Console.ReadLineメソッドは、ユーザーが入力した文字列を1行読み取るために使われます。

そのため、Console.ReadKeyメソッドと同様に、ユーザーのキー入力を待つので、プログラムの処理をいったん止めることができます。

しかし、Console.ReadKeyメソッドと異なり、Console.ReadLineメソッドは、Enterキーが押されるまで、入力キーを何度でも受け入れることができます。

そのため、何かしらのキーを押したらコンソールを閉じるという目的を達成するには、やや不適切になります。

関連記事

無料体験レッスンあり。マンツーマン形式で初心者向け。
  • このエントリーをはてなブックマークに追加

スポンサーリンク

コメントを残す

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)