プロセスに与えられたコマンドライン引数、起動時に渡される引数は、Mainメソッドの引数として受け取ることができます。 引数の名前は任意に指定できますが、型はString型の配列である必要があります。 Mainメソッドに渡される引数には、プロセスを起動した時のコマンドラインは含まれません。
エントリポイント(Mainメソッド)でコマンドライン引数を受け取る
using System;
class Sample {
// エントリポイントで引数を取る
// (プロセスに渡された引数はargsを通して参照できる)
static void Main(string[] args)
{
foreach (var arg in args) {
Console.WriteLine(arg);
}
}
}
実行結果例
>csc test.cs >test.exe /arg1 /arg2 /foo=bar /arg1 /arg2 /foo=bar
実行結果
$dotnet build $dotnet run -- /arg1 /arg2 /foo=bar /arg1 /arg2 /foo=bar
実行結果
$mcs test.cs $mono test.exe /arg1 /arg2 /foo=bar /arg1 /arg2 /foo=bar
プロセスを起動した時のコマンドラインを含めて引数を取得したい場合は、Environment.GetCommandLineArgsメソッドを使います。 詳しくはプロセス・アセンブリの情報 §.コマンドライン引数を参照してください。