zukucode
主にWEB関連の情報を技術メモとして発信しています。

VB.NET コンソールアプリケーションで自動で画面を閉じないようにする

コンソールアプリケーションをデバッグ実行するときに、自動でコンソール画面を閉じないようにする方法を紹介します。

よく使われる方法は2通りあります。

Ctrl+F5で実行する

F5はデバッグ実行するショートカットキーですが、Ctrlを押しながらF5を押してデバッグ実行すると続行するには何かキーを押してください...のメッセージが表示された状態になります。

Console.ReadKey()

Console.ReadKey()のコマンドを実行すると、ユーザーがなにか操作をするまで処理が停止します。

Console.ReadKey()は本来はユーザーからのキー入力を受け付けるためのコマンドですが、この機能を利用します。

Ctrl+F5の方法だと処理終了時に停止するだけですが、Console.ReadKey()の方法なら任意の場所で処理を止めることができます。

以下の処理を実行すると、最初に1が表示され、ユーザーが何かしらのキーを押したら2が表示されます。その後もう1度キーを押すと処理が終了して画面を閉じます。

Console.WriteLine(1)
Console.ReadKey()
Console.WriteLine(2)
Console.ReadKey()

途中で処理を止めて処理状況を確認したい場合などには便利ですが、Console.ReadKey()はデバッグ時だけでなくリリース時でも動作してしまいます。

デバッグ時のみConsole.ReadKey()で処理を止めたい場合は以下のようにします。

#If DEBUG Then
    'デバッグ時のみ実行される
    Console.WriteLine(1)
    Console.ReadKey()
#End If

    '常に実行される
    Console.WriteLine(2)
    Console.ReadKey()

関連記事