私は C# の教師で、生徒向けに自動化された HW チェッカーを作成しました。学生は C# コンソール アプリケーションを作成します。私の HW チェッカーは入力リダイレクトに基づいているため、自分で生成した入力でコードをテストできます。
問題は、生徒がConsole.ReadKey()
命令でプログラムを終了することがあることです (F5 - Debug でプログラムを実行したときに、実行ウィンドウが閉じないようにするためです)。Console.ReadKey()
入力リダイレクトで実行すると、次の例外を除いてクラッシュします。
System.InvalidOperationException: アプリケーションにコンソールがない場合、またはコンソール入力がファイルからリダイレクトされた場合、キーを読み取れません。
(生徒のコードを変更せずに) この問題を「回避」する方法はありますか? 多分指示Console
を無視するように言いReadKey
ますか?