我想在c#中调用一个带有多个参数的进程。
当我打电话时:
ProcessStartInfo info = new ProcessStartInfo();
...
info.Arguments = "argument";
Process.Start(info);
i只能设置一个String
作为属性。(与Start方法的所有类型相同)
是否有办法将String[]
设置为参数,或者如何解释这个String
?
因为在另一边
static void Main(string[] args)
我得到一个String[]
。
技术上你可以这样做:
string[] args = new String[] {"argument1", "argument2", "argument3"};
...
info.Arguments = String.Join(" ", args);
限制是参数不应该有带空格的参数
是否有办法设置String[]作为参数?
不,你不能这样做,因为ProcessStartInfo.Arguments
的类型是string
。因此你可以给它赋值一个字符串数组。
您可以向该字符串传递如下参数:
info.Arguments = "argument1 argument2 argument3";
和你的。exe将被执行,因为你正在传递一个包含元素(argument1
, argument2
, argument3
)的字符串数组。