2009-06-16 539 views
0

我有一個像這樣的命令行參數我需要像這樣得到兩個這怎麼可能命令行參數數組

ApplicationId = 1;名稱= 2

我喜歡得到單個數組中的兩個值1,2如何做到這一點。

+0

您可以通過澄清的問題可能會幫助我們......這是不是100%清楚什麼參數看起來像或者你想要做什麼 – 2009-06-16 08:07:04

回答

1

嘗試

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

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

你當然需要更好的錯誤檢查,但值1和值2應該是「1」和「2」分別

6

這是不完全清楚給我,但我會假設參數實際上是:

ApplicationId=1 Name=2 

間距等重要由於系統如何分裂論據。在Main(string[] args)方法,那將是一個數組長度2.您可以處理這種情況,例如到詞典:

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

是的,這幾乎是我爲需要命名參數的實用程序所做的。 – 2009-06-16 08:20:57