Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用字符串args[]在C#中调用进程_C#_Process_Main - Fatal编程技术网

使用字符串args[]在C#中调用进程

使用字符串args[]在C#中调用进程,c#,process,main,C#,Process,Main,我想用多个参数从C#调用一个进程 当我打电话时: ProcessStartInfo info = new ProcessStartInfo(); ... info.Arguments = "argument"; Process.Start(info); 我只能将字符串设置为属性。(所有类型的启动方法都相同) 有没有办法将String[]设置为参数,或者如何解释该String 因为在另一边 static void Main(string[] args) 我得到一个字符串[] 提前谢谢 有没有办

我想用多个参数从C#调用一个进程

当我打电话时:

ProcessStartInfo info = new ProcessStartInfo();
...
info.Arguments = "argument";
Process.Start(info);
我只能将
字符串设置为属性。(所有类型的启动方法都相同)

有没有办法将
String[]
设置为参数,或者如何解释该
String

因为在另一边

static void Main(string[] args)
我得到一个
字符串[]

提前谢谢

有没有办法将字符串[]设置为参数

不,您不能这样做,因为
ProcessStartInfo.Arguments
的类型是
string
。因此,您可以为它指定一个字符串数组

您可以将参数传递给该字符串,如下所示:

info.Arguments = "argument1 argument2 argument3";
在传递包含元素的字符串数组(
argument1
argument2
argument3
)时,将执行.exe

有没有办法将字符串[]设置为参数

不,您不能这样做,因为
ProcessStartInfo.Arguments
的类型是
string
。因此,您可以为它指定一个字符串数组

您可以将参数传递给该字符串,如下所示:

info.Arguments = "argument1 argument2 argument3";

当您传递包含元素的字符串数组(
argument1
argument2
argument3
)时,将执行.exe。

从技术上讲,您可以这样做:

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

  ...

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

限制是args不应该有带空格的参数,从技术上讲,您可以这样做:

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

  ...

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

限制是参数不应该有带空格的参数

在大多数操作系统(如果不是所有操作系统)中,程序参数用空格分隔。为了方便起见,是.NET将其拆分为字符串数组。在大多数操作系统(如果不是所有操作系统)中,程序参数用空格分隔。为了方便起见,是.NET将其拆分为字符串数组。