【问题标题】:c# console apps passing argumentsc# 控制台应用程序传递参数
【发布时间】:2011-11-14 20:21:29
【问题描述】:
我已经走到这一步了:
ProcessStartInfo procInfo = new ProcessStartInfo(@"C:\a\a.exe");
procInfo.CreateNoWindow = true;
procInfo.Arguments = "01";
procInfo.Arguments = user_number;
procInfo.Arguments = email;
Process.Start(procInfo);
但它只传递一个参数(是最后一个要覆盖的参数),我如何传递多个参数,控制台上的 args 是一个数组,这一定意味着我可以传递多个参数?
【问题讨论】:
标签:
c#
console
command-line-arguments
【解决方案1】:
您需要传递一串以空格分隔的参数:
procInfo.Arguments = "01 " + user_number + " " + email;
同样的事情,使用格式:
procInfo.Arguments = string.Format("{0} {1} {2}", "01", user_number, email);
【解决方案2】:
试试这个..
procInfo.Arguments = "01 " + user_number + " " + email;
【解决方案3】:
每个人都只是需要连接是对的。只是一个风格的东西,但你可以使用 String.Join 使传递参数更优雅:
string[] argv = {"01", user_email, email};
ProcessStartInfo procInfo = new ProcessStartInfo(@"C:\a\a.exe");
procInfo.CreateNoWindow = true;
procInfo.Arguments = String.Join(" ", argv);
Process.Start(procInfo);
【解决方案4】:
将您的参数连接成一个由空格分隔的字符串?或者您可以在每个参数之前使用某种标识符,并让 .exe 应用程序解析字符串。