我想用C#调用带有多个参数的进程。
当我打电话时:
ProcessStartInfo info = new ProcessStartInfo();
...
info.Arguments = "argument";
Process.Start(info);
我只能将String
设置为属性。 (与所有类型的Start方法相同)
有没有办法将String[]
设置为参数,或者如何解释此String
?
因为在另一边
static void Main(string[] args)
我收到String[]
。
提前致谢。
答案 0 :(得分:3)
从技术上讲,你可以这样做:
string[] args = new String[] {"argument1", "argument2", "argument3"};
...
info.Arguments = String.Join(" ", args);
限制是args不应该包含带空格的参数
答案 1 :(得分:2)
有没有办法将String []设置为参数?
不,你不能这样做,因为ProcessStartInfo.Arguments
的类型是string
。因此,您可以为其分配一个字符串数组。
您可以将参数传递给此字符串,如下所示:
info.Arguments = "argument1 argument2 argument3";
并且当您传递包含元素(argument1
,argument2
,argument3
)的字符串数组时,您的.exe将被执行。