質問: true; Console.WriteLine(SystemMessageDefine.LogShowMode_JP); Console.WriteLine(SystemMessageDefine.CommandAccepting_JP); break; case "quit": Console.Clear(); VersionHeader(); Environment.Exit(0); (以下延々と続く) ```
回答: コマンドごとに関数を用意して、コマンド(文字列)と関数ポインタのマップを作ると見通しが良くなるように思います。 1)コンソールからコマンドを入力する 2)入力された文字列が、マップのKeyに含まれていなければ defaultの関数を呼び出す。 (if) マップのkeyに含まれていれば、 マップから関数ポインタを得て実行する。(else) というのがメインループの中身。 ループの前にマップを作るコードが入り、コードの後半はそれぞれのコマンドで実行する内容を関数として記述したものを列挙します。 こうしておけば、コマンドを追加するのは関数の追加とマップの修正だけで済みますし、1つのコマンドの機能を修正する際に変更する箇所が1つの関数だけになるのでコードの管理が楽です。