我有一个 exe 文件,我试图在其中通过 c# 传递参数。代码如下
class Class1
{
static void Main()
{
string[] arg;
arg = new string[3];
Process p = new Process();
p.StartInfo.FileName = @"D:\xxx.exe";
for (int i = 0; i < 3; i++)
{
arg[i] = Console.ReadLine();
}
p.StartInfo.Arguments = arg[0] + " " + arg[1] + " " + arg[2];
p.Start();
}
}
我打开一个控制台,然后在那里写参数。一旦我输入完 3 个参数,我就从 3 个参数中创建一个字符串,然后使用字符串中的参数进行Process.Start()
调用p.StartInfo.Arguments
。exe 文件加载但不生成任何输出。奇怪的是,如果我从我的电脑打开 exe 文件然后写
Arg1.txt Arg2.txt Arg3.txt
然后按回车 exe 文件生成输出。但是,当前正在通过 C# 代码传递相同样式的相同参数,并且它不会生成任何输出。我不明白我做错了什么。StackOverflow 上有多个关于此的问题,我知道,但是它们都提出了与我在这里所做的相同的程序。我也尝试过提出论点
p.StartInfo.Arguments = "\"arg[0]\"\"arg[1]\"\"arg[2]\"";
但这也没有奏效。