Comment detail

コマンドライン引数の取得 (Nested Flatten)

方法1はcと同じ方法です。自身のパスを含まない引数の配列を取得します。エントリポイントでのみ使えます。 方法2は自身のパスを含んだ全ての引数を含む文字列を取得します。自分で分割しないとそれぞれの引数を得られません。 方法3は自身のパスを含んだ引数の配列を取得します。プログラム中どこでも使えます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
using System;
class Program {
    static void Main(string[] args) {
        Console.WriteLine("方法1");
        foreach(string cmd in args) {
            Console.WriteLine(cmd);
        }

        Console.WriteLine("\n方法2");
        Console.WriteLine(System.Environment.CommandLine);

        Console.WriteLine("\n方法3");
        foreach(string cmd in System.Environment.GetCommandLineArgs()) {
            Console.WriteLine(cmd);
        }
        Console.ReadLine();
    }
}

方法2、方法3が題意に反するので訂正します。方法2から引数のみを得るのは難しいです。方法3を修正したコードを投稿します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
//http://ja.doukaku.org/118/ 投稿用
using System;
class Program {
    static void Main(string[] args) {
        for(int i = 1; i < System.Environment.GetCommandLineArgs().Length; i++) {
            Console.WriteLine(System.Environment.GetCommandLineArgs()[i]);
        }
        Console.ReadLine();
    }
}

Index

Feed

Other

Link

Pathtraq

loading...