我看过这个关于在 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";
谢谢
无法将数组作为参数传递,您可以使用逗号分隔符传递字符串:
ProcessStartInfo info = new ProcessStartInfo();
info.Arguments = "Item title,New task,22,High Priority"
一种选择是将数组放在一个字符串中,以便该方法将其视为一个参数。然后,在您的方法中,您可以解析那个参数。就像是:
"Item title, New task, 22, High Priority"
您可以通过执行以下操作来使用现有数组:
var arrAsOneString = string.Join(", ", arr);
在您的方法中,执行以下操作:
var values = argument.Split(',').Select(x => x.Trim());
我添加了修剪以消除空格。
请试试这个:
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);