2009-06-16 16 views
0

私はこのようにコマンドライン引数を持っていますが、このように2つを取得する必要があります。コマンドライン引数配列

ApplicationId = 1;名前= 2

私は1つの配列で2つの値1,2を取得するのが好きです。

+0

あなたはおそらく、それがどのような100%明確ではない...質問を明確にすることによって、私たちを助けることができますargsのように見えるか何をしたいか –

答えて

1

string values = "ApplicationId =1; Name =2"; 
string[] pairs = values.Split(';'); 

string value1 = pairs[0].Split('=')[1]; 
string value2 = pairs[1].Split('=')[1]; 

あなたはもちろんのより良いエラーチェックをする必要があります試してみてください確かにかなりくそ良いですが、value1とvalue2のは「1」でなければなりません使用してきましたそれぞれ「2」

6

それは私には全く明らかではないが、私は、引数が実際にあると仮定するつもりです:

ApplicationId=1 Name=2 

間隔などが重要ですシステムが引数をどのように分割するかによって異なります。配列の長さ2となりますMain(string[] args)方法では、あなたがこれを処理することができ、辞書への例えば:

static void Main(string[] args) { 
     Dictionary<string, string> options = new Dictionary<string, string>(); 
     foreach (string arg in args) 
     { 
      string[] pieces = arg.Split('='); 
      options[pieces[0]] = pieces.Length > 1 ? pieces[1] : ""; 
     } 

     Console.WriteLine(options["Name"]); // access by key 

     // get just the values 
     string[] vals = new string[options.Count]; 
     options.Values.CopyTo(vals, 0); 
    } 
+0

これは、名前付き引数を必要とするユーティリティの場合とほとんど同じです。 –

関連する問題