我有一个命令行参数就像这样我需要得到这两个如此可能
ApplicationId = 1;名称= 2
我喜欢在单个数组中获取两个值1,2如何做到这一点。
答案 0 :(得分: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);
}
答案 1 :(得分:2)
631410和491595上提到了一些好的图书馆。我个人使用了sixlettervariables提到的WPF TestAPI库,它确实很不错
答案 2 :(得分: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”