我看过这个关于Passing command line arguments in C#的问题。
但在我的情况下,我必须将参数数组传递给调用的.exe文件。
e.g。
var arr = new string[] {"Item title","New task","22","High Priority"}
是否可以将Process.Start()
与exe路径一起用于数组
我有.exe路径
const string path = @"C:\Projects\Test\test.exe";
由于
答案 0 :(得分:0)
请试试这个:
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);
答案 1 :(得分:-1)
无法将数组作为参数传递,您可以使用逗号分隔符传递一个字符串:
ProcessStartInfo info = new ProcessStartInfo();
info.Arguments = "Item title,New task,22,High Priority"
答案 2 :(得分:-1)
一种选择是将数组放在一个字符串中,以便该方法将其视为一个参数。在您的方法中,您可以解析该一个参数。类似的东西:
"Item title, New task, 22, High Priority"
您可以通过执行以下操作来使用现有阵列:
var arrAsOneString = string.Join(", ", arr);
在您的方法中,执行:
var values = argument.Split(',').Select(x => x.Trim());
我添加了修剪以消除空格。