Top > .NET Visual C#言語入門 > コマンドライン引数
プログラム構造 列挙型(enum) コンストラクタ・デストラクタ
スケルトン 配列 メソッド
クラス内の記述構成 構造体 プロパティ
HalloWorld 修飾子 静的クラスと静的メンバ
コマンドライン引数 プリプロセッサ ディレクティブ フィールド
コメント 例外と例外処理 演算子のオーバーロード
ステートメント(文) 可変個引数リスト(params) イベント(割り込み)
式(演算子) 名前空間 デリゲート
変数とデータ型 クラスとオブジェクト インデクサ
型変換(キャスト) クラス(class) デリゲート&イベント発生と受信サンプル
定数(Const/Readonly) 部分クラス定義  
文字列(string) 継承  

コマンドライン引数

コマンドライン引数とは

オペレーティングシステム(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]

▲ページトップに戻る

【本を読んでもよくらからない】 … 個別指導でわかりやすくお教えします