7

我看过这个关于在 C# 中传递命令行参数的问题。

但就我而言,我必须将参数数组传递给调用 .exe 文件。

例如

var arr = new string[] {"Item title","New task","22","High Priority"}

是否可以Process.Start()与数组一起使用 exe 路径

我有 .exe 路径

const string path = @"C:\Projects\Test\test.exe";

谢谢

4

3 回答 3

-3

无法将数组作为参数传递,您可以使用逗号分隔符传递字符串:

 ProcessStartInfo info = new ProcessStartInfo();
 info.Arguments = "Item title,New task,22,High Priority"
于 2012-09-06T08:36:50.947 回答
-3

一种选择是将数组放在一个字符串中,以便该方法将其视为一个参数。然后,在您的方法中,您可以解析那个参数。就像是:

"Item title, New task, 22, High Priority"

您可以通过执行以下操作来使用现有数组:

var arrAsOneString = string.Join(", ", arr);

在您的方法中,执行以下操作:

var values = argument.Split(',').Select(x => x.Trim());

我添加了修剪以消除空格。

于 2012-09-06T08:40:28.760 回答
-5

请试试这个:

        var arr = new string[] {"Item title", "New task", "22", "High Priority"};
        const string path = @"C:\Projects\Test\test.exe";
        const string argsSeparator = " ";
        string args = string.Join(argsSeparator, arr);

        Process.Start(path, args);
于 2012-09-06T08:33:26.297 回答