2009-06-16 13 views
0

Ich bin ein Kommandozeilenargumente, wie wie das ich die beiden als wie diese erhalten müssen, wie ist es möglich,Befehlszeilenargumente Array

ApplicationId = 1; Name = 2

Ich möchte die beiden Werte 1,2 in einem Array erhalten, wie dies zu tun ist.

+0

Sie wahrscheinlich uns durch die Klärung der Frage helfen könnten ... es ist nicht 100% klar, was die Argumente sehen aus wie oder was Sie tun möchten –

Antwort

1

Versuchen

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

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

Sie werden bessere Fehlerprüfung natürlich brauchen, aber Wert1 und Wert2 sollen „1“ und „2“ bzw.

2

Es gibt einige gute Bibliotheken erwähnt auf 631410 und 491595. Ich habe persönlich verwenden die WPF TestAPI Bibliothek von sixlettervariables erwähnt und es ist in der Tat verdammt gut

6

Es ist nicht ganz klar für mich, aber ich gehe davon aus, dass die Argumente sind eigentlich:

ApplicationId=1 Name=2 

der Abstand usw. wichtig ist aufgrund dessen, wie das System Argumente spaltet. In einem Main(string[] args) Verfahren wird, dass eine Feldlänge 2. Sie sich diese verarbeiten können, zum Beispiel in ein Wörterbuch:

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

Ja, das ist ziemlich viel, was ich für Dienstprogramme mache, die benannte Argumente benötigen. –