.NET Visual C#言語入門 > コマンドライン引数
のぶ亭『プログラミングの相談窓口』 … 様々なプログラミング問題を個別対応致します |
コマンドライン引数
コマンドライン引数とは
オペレーティングシステム(OS)よりアプリケーションを起動する際に、 アプリケーションへ必要な情報を渡すための機能です。
例えば、メモ帳の場合、notepad "c:\temp\memo.txt" で実行すると、引数で渡したファイルを開いた状態で起動します。
- C#では、コマンドライン引数はMainメソッドの引数として渡されます。
- 用途
- 起動時に、直接ファイル名を指定することができます。
- 起動時に、アプリケーションに必要な情報を実行前に渡すことができます。
- ショートカットに引数を設定することもできます。
- 文字列に空白があるの場合、””で囲みます。
- 複数の引数がある場合、空白(スペース)で区切ります。
- C、C++と異なり、C#ではプログラムの名前は引数として扱われません。
using System; using System.Collections.Generic; using System.Text; namespace ProgrammingCS { class CommandLine { static void Main(string[] args) { // 全引数の内容を出力 foreach (string arg in args) { System.Console.WriteLine(arg); } } } }
例
実行可能ファイルに対してコマンド ラインで指定した引数には、省略可能なパラメータを介してMain メソッドの引数としてアクセスします。
引数が複数ある場合、引数間を空白文字で区切ります。Mainメソッド側では、これらの引数を文字列配列の形式で 受け取ります。
配列の各要素には、1つの引数が格納されます。引数間の空白は削除されます。
コマンド・ライン例
コマンド ラインでの入力 Main に渡される文字列の配列 CommandLine.exe a b c "a"
"b"
"c"CommandLine.exe one two "one"
"two"CommandLine.exe "one two" three "one two"
"three"
using System; class CommandLine { static void Main(string[] args) { // 引数の個数を出力 System.Console.WriteLine("parameter count = {0}", args.Length); // 全引数の内容を出力 for (int i = 0; i < args.Length; i++) { System.Console.WriteLine("Arg[{0}] = [{1}]", i, args[i]); } } }
この例は、コマンド ライン アプリケーションに渡されるコマンド ライン引数を示しています。次の出力は、上の表の最初のエントリに対するものです。
出力
parameter count = 3 Arg[0] = [a] Arg[1] = [b] Arg[2] = [c]