【C#】コンソールアプリでコマンドライン引数を受け取る方法


この記事はプロモーションを含みます。

C#のコンソールアプリケーションでコマンドライン引数を受け取る方法を解説します。

はじめに

コンソールアプリケーションでは、ユーザーからの入力を引数として受け取ることができ、その引数に基づいてプログラムを動作させることが可能です。
本記事では、引数を受け取る基本的な方法を示すとともに、引数が渡された場合と渡されなかった場合の処理についても説明します。

コマンドライン引数を受け取る方法

C#では、Mainメソッドがエントリーポイントとして実行されます。
このMainメソッドは、引数を配列として受け取ることができます。
引数は、プログラムを実行するときにコマンドラインで指定することができ、その配列はstring[]型で渡されます。

例えば、プログラムを実行するときに次のように引数を渡すことができます。

MyApp.exe arg1 arg2 arg3

この場合、args配列にはarg1, arg2, arg3という3つの引数が渡されることになります。

ソースコード

以下は、引数を受け取って処理する基本的なC#のコンソールアプリケーションのコードです。

using System;

class Program
{
    static void Main(string[] args)
    {
        // 引数が渡されているか確認
        if (args.Length > 0)
        {
            Console.WriteLine("コマンドライン引数が渡されました:");
            foreach (var arg in args)
            {
                // 引数を1つずつ表示
                Console.WriteLine(arg);
            }
        }
        else
        {
            Console.WriteLine("引数は渡されませんでした。");
        }
    }
}

コードのポイント

1.Mainメソッドの引数 string[] args
Mainメソッドは引数をstring[] argsという配列として受け取ります。
args配列には、コマンドラインで指定された引数が順番に格納されます。

2.引数の有無を確認する
args.Length > 0の条件文を使って、引数が1つ以上渡されているかどうかを確認します。
もし引数が渡されていれば、その引数を順番に表示します。

3.引数の表示
引数が渡されていた場合、foreachループを使ってargs配列の各要素を1つずつ表示します。

4.引数が渡されなかった場合
引数が渡されていない場合、elseブロックが実行され、「引数は渡されませんでした。」と表示されます。

実行例

もし、以下のようにコマンドラインから引数を渡して実行した場合、、、

MyApp.exe Hello World

出力は次のようになります。

コマンドライン引数が渡されました:
Hello
World

引数が1つも渡されずに実行した場合は、次のような結果になります。

引数は渡されませんでした。

まとめ

C#のコンソールアプリケーションでは、Mainメソッドの引数としてコマンドライン引数を受け取り、プログラム内で処理することができます。
引数を活用することで、ユーザーから動的にデータを受け取り、柔軟な動作をさせることが可能になります。
この基本的な引数の受け取り方法を理解しておくことで、より多様なコマンドラインツールを作成できるようになるでしょう。

コメント

タイトルとURLをコピーしました