【问题标题】: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 应用程序解析字符串。

          【讨论】:

            猜你喜欢
            • 2012-05-08
            • 2021-04-06
            • 1970-01-01
            • 2011-05-03
            • 1970-01-01
            • 2011-09-03
            • 1970-01-01
            • 1970-01-01
            • 2014-01-11
            相关资源
            最近更新 更多