массив аргументов командной строки - PullRequest
0 голосов
/ 16 июня 2009

У меня есть аргументы командной строки, как это мне нужно, чтобы получить два, как это, как это возможно

ApplicationId = 1; Имя = 2

Мне нравится получать два значения 1,2 в одном массиве, как это сделать.

Ответы [ 3 ]

6 голосов
/ 16 июня 2009

Мне не совсем ясно, но я собираюсь предположить, что аргументы на самом деле:

 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);
    }
2 голосов
/ 16 июня 2009

Есть несколько хороших библиотек, упомянутых в 631410 и 491595 . Я лично использовал библиотеку WPAP TestAPI, упомянутую sixlettervariables , и это действительно чертовски хорошо

1 голос
/ 16 июня 2009

Попробуйте

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"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...