C#でコマンドライン引数を取得する

C#のプログラムでコマンドライン引数を取得してみました。

目次

  1. main関数の引数を使う
    1. 試してみた
  2. Environmentクラスのcommandlineプロパティを参照する
    1. 試してみた
  3. EnvironmentクラスのGetCommandLineArgs()メソッドを使う
    1. 試してみた

main関数の引数を使う

コマンドライン引数は、main関数(コマンドラインプログラムの場合)の引数としてわたされます。引数の型はstring型の配列です。

試してみた

こんなコードで試してみました。

using System;

namespace cmd_trial
{
    class Program
    {
        static void Main(string[] args)
        {
            foreach (string s in args)
            {
                Console.WriteLine(s);
            }
        }
    }
}

Mainの引数の配列から、要素を一つずつ表示するプログラムですね。 実行結果はこうなります。 image0

Environmentクラスのcommandlineプロパティを参照する

Environmentクラスのcommandlineプロパティから、引数を取得します。 このプロパティの型はstring型で、最初にプログラムそのもののファイル名が入ります。スペースとかでsplitするなどして文字列操作すれば、コマンドライン引数が得られます。

試してみた

こんなコードで試してみました。

using System;

namespace cmd_trial
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Environment.CommandLine);
        }
    }
}

簡潔ですね。結果はこうなりました。 image1

EnvironmentクラスのGetCommandLineArgs()メソッドを使う

EnvironmentクラスのGetCommandLineArgs()メソッドを使っても、コマンドライン引数が取得できます。

string[] str = Environment.GetCommandLineArgs();

試してみた

こんなコードで試してみました。

using System;

namespace cmd_trial
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] str = Environment.GetCommandLineArgs();
            foreach(string s in str)
            {
                Console.WriteLine(s);
            }
        }
    }
}

文字列操作しなくて良いので楽かもしれませんね。 配列の最初の要素に、プログラムのファイル名が入ります。 実行するとこうなります。 image2

公開日

広告