C#でデバッグ時にコマンドライン引数を利用したい【visual studio】

コンソールアプリでは実行時にパラメータを渡す仕組み、コマンドライン引数を利用できます。

できれば、開発時にも指定した引数を渡したいですね。
今回は、初めてコンソールアプリでコマンドライン引数を使って開発する方向けに、

  • コマンドライン引数の指定の方法
  • 引数をmainで受け取ったときのコード例

を紹介します。

デバッグ時にコマンドライン引数を指定する方法

早速ですが方法です。
visual studioを使用するとGUIで設定可能です。

まず、プロジェクトファイルを右クリックし、
(ソリューションファイルではありませんので注意ください。)

プロジェクトファイルのプロパティを選択します

GUIメニューが表示されるので、デバッグの項目を選択します。

アプリケーション引数の項目に指定したい引数を記述しましょう。
スペースで複数指定することができます。

今回の例では3つ指定していますね。

試しに次のコードで実行すると、最初の引数が表示されす。


引数argsにはこのような形で値が入っています。

引数をmainで受け取ったときのコード例

無事引数を扱うことができましたが、2つ課題があります。
・正しい引数なのか検証していない
・stringのままでは使いづらい

正しい引数なのか検証

コマンドライン引数を用いる場合は、main処理の最初のほうで、必要な引数がそろっているのか検証します。


というのも後々、引数が足りずにエラーが出たときに、何がいけないのか調べる作業が減るためです。

コマンドライン引数を型変換

また、使いやすいように型変換を済ませてしまうのもお勧めです。


この例では型をもったarg0にコマンドライン引数を渡すことで、つねに数値型として扱えるようにしています。

先に、型変換作業をしておくことで、コアロジックとなる処理の途中で、
型変換など関係性の薄いコードが混じることを防いでくれます。

おわりに

以上でC# でvisual studioを使用しているときのコマンドライン引数の利用の仕方の紹介は以上です。
visual sutdioはGUIが充実しているのが嬉しいですね。

最後にコード例をまとめたものを書きます。

今回の記事では第一引数しか型変換していないですが、第三引数など日付型も同じように変換してあげれば同じように扱えます。