Вызов процесса в C # со строковыми аргументами []

1

Я хочу вызвать процесс из С# с несколькими параметрами.

Когда я звоню:

ProcessStartInfo info = new ProcessStartInfo();
...
info.Arguments = "argument";
Process.Start(info);

Я могу установить только атрибут String. (То же самое для всех типов метода Start)

Есть ли способ установить String[] качестве аргументов или как интерпретировать эту String?

Потому что с другой стороны

static void Main(string[] args)

Я получаю String[].

Заранее спасибо.

Теги:
process
main

2 ответа

2
Лучший ответ

Есть ли способ установить параметр String [] в качестве аргумента?

Нет, вы не можете этого сделать, поскольку тип ProcessStartInfo.Arguments - это string. Следовательно, вы можете назначить ему массив строк.

Вы можете передать этой строке следующие параметры:

info.Arguments = "argument1 argument2 argument3";

и ваш.exe будет выполнен, поскольку вы передавали массив строк с элементами (argument1, argument2, argument3).

3

Технически вы можете сделать это так:

  string[] args = new String[] {"argument1", "argument2", "argument3"};

  ...

  info.Arguments = String.Join(" ", args);

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню