Я хочу вызвать процесс из C # с несколькими параметрами.
Когда я звоню:
ProcessStartInfo info = new ProcessStartInfo();
...
info.Arguments = "argument";
Process.Start(info);
Я могу установить только String
как атрибут. (То же самое для всех типов метода Start)
Есть ли способ установить String[]
в качестве аргументов или как это String
интерпретируется?
Потому что с другой стороны
static void Main(string[] args)
Я получаю String[]
.
Заранее спасибо.
2 ответа
Есть ли способ установить String [] в качестве аргумента?
Нет, вы не можете этого сделать, поскольку тип ProcessStartInfo.Arguments
- string
. Следовательно, вы можете присвоить ему массив строк.
В эту строку можно передать следующие параметры:
info.Arguments = "argument1 argument2 argument3";
И ваш .exe будет выполнен, как если бы вы передавали массив строк с элементами (argument1
, argument2
, argument3
).
Технически это можно сделать так:
string[] args = new String[] {"argument1", "argument2", "argument3"};
...
info.Arguments = String.Join(" ", args);
Ограничение состоит в том, что args не должен иметь аргументов с пробелами
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.