Mainメソッドの第一引数で取得
Mainメソッドの第一引数に 文字列の配列 として渡されます。次のコードは Mainメソッドの引数 を使用し、コマンドライン引数の内容を表示します。
static void Main(string[] args)
{
// コマンドライン引数の内容を表示
for (int i = 0; i < args.Length; i++)
{
Console.WriteLine($"args[{i}] = {args[i]}");
}
}
Mainメソッドが見つからない場合
プロジェクトの種類や作成時のオプションによってはMainメソッドが自動生成されません。その場合は次章の Environment.GetCommandLineArgs()メソッド を使用して取得します。コンソールアプリケーションでメインメソッドが生成されない場合、次の記事を参照してください。
Environment.GetCommandLineArgs()メソッド で取得
Environment.GetCommandLineArgs()メソッドを呼び出すと、文字列の配列 でコマンドライン引数の内容を返します。Mainメソッドとは異なり、配列の先頭にはプログラム名が格納されます。コマンドライン引数の内容は 配列の [1] からです。using System;
string[] コマンドライン引数 = Environment.GetCommandLineArgs();
次のコードは GetCommandLineArgs()メソッドを使用し、コマンドライン引数の内容を表示します。
using System;
// コマンドライン引数を取得
string[] args2 = Environment.GetCommandLineArgs();
// 内容を表示
for (int i = 0; i < args2.Length; i++)
{
Console.WriteLine($"args2[{i}] = {args2[i]}");
}

Visual Studio でデバッグ時にコマンドライン引数を渡す
プロジェクトのプロパティから設定します。Visual Studio 2022から設定方法が変更されています。詳細は次の記事を参照してください。参考資料
検証環境
- .NET 5.0
- Microsoft Visual Studio Professional 2019 Version 16.11.16
- Microsoft Windows 10 Enterprise Version 21H2 OS Build 19044.2130 Experience: Windows Feature Experience Pack 120.2212.4180.0