2009-06-16 290 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