Я положил значение аргумента командной строки "1|2|c:\temp"
в разделе properties-> debug.не может быть равно нулю. путь имени параметра
В моем коде я прочитал данные с помощью
string[] args = Environment.CommandLine.Split('|').ToArray();
Когда я запускаю приложение, я получаю все значения аргумента и работает нормально, но когда я запускаю файл ехе я получаю значение
не может быть пустым. путь имени параметра
Я искал google, но понятия не имел и как это решить.
Код:
string[] args = Environment.CommandLine.Split('|').ToArray();
for (int i = 0; i < args.Count(); i++)
{
switch (i)
{
case 0:
break;
case 1:
break;
case 2:
this.ImageFilePath = args[i];
break;
case 3:
this.ImageFileName = args[i];
break;
}
}
Пожалуйста, дайте мне решение или идею резольную ошибку.
'string.Split' возвращает массив, поэтому' ToArray' бессмысленно. – juharr
Как вы управляете exe? Двойным щелчком по нему вы не получите аргументы, и вы не будете обрабатывать пустое условие args. – Shaharyar
Если вы запускаете exe-файл из командной строки, и вы пытаетесь передать параметры с помощью pipe | символ, который фактически используется операционной системой для получения результата от одной команды к другой. Попробуйте использовать другой символ в качестве разделителя. – sheppe