命令行参数数组

时间:2009-06-16 07:55:34

标签: c# command-line

我有一个命令行参数就像这样我需要得到这两个如此可能

ApplicationId = 1;名称= 2

我喜欢在单个数组中获取两个值1,2如何做到这一点。

3 个答案:

答案 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)

631410491595上提到了一些好的图书馆。我个人使用了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”