c#控制台传递参数的应用程序

时间:2011-11-14 12:14:41

标签: c# console command-line-arguments

我到目前为止:

ProcessStartInfo procInfo = new ProcessStartInfo(@"C:\a\a.exe");
procInfo.CreateNoWindow = true;
procInfo.Arguments = "01";
procInfo.Arguments = user_number;
procInfo.Arguments = email;
Process.Start(procInfo);

但是它只传递一个参数(最后一个被覆盖),如何传递多个参数,控制台上的参数是一个数组,这必然意味着我可以传递多个参数?

4 个答案:

答案 0 :(得分:6)

您需要传递一个以空格分隔的参数字符串:

procInfo.Arguments = "01 " + user_number + " " + email;

同样的事情,使用格式:

procInfo.Arguments = string.Format("{0} {1} {2}", "01", user_number, email);

答案 1 :(得分:1)

试试这个..

procInfo.Arguments = "01 " + user_number + " " + email; 

答案 2 :(得分:1)

每个人都需要连接。只是一个风格的东西,但你可以使用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);

答案 3 :(得分:0)

将您的参数连接成一个由空格分隔的单个字符串?或者你可以在每个参数之前使用某种标识符,并让.exe应用程序解析字符串。