【问题标题】:Console application execution arguments控制台应用程序执行参数
【发布时间】:2012-08-02 21:11:45
【问题描述】:

我有一个应用程序,用户可以从他的许多参数开始。 如果我没记错的话,我想我可以在我的应用程序中获取这些执行参数。

应用程序是控制台应用程序。

尝试谷歌搜索,但没有找到。

【问题讨论】:

标签: c# console-application command-line-arguments


【解决方案1】:

可以使用Environment.CommandLineEnvironment.GetCommandLineArgs 获取它们,但我强烈建议不要这样做。这将使您的代码更难测试。相反,在启动时将命令行参数解析为语义更有意义的形式,然后将相关选项传播到任何需要它的代码,可能通过依赖注入框架。

这样,您最终会更清楚哪些代码片段依赖于哪些选项,并且您还可以在不使用任何全局状态的情况下为这些类编写单元测试。您的所有命令行解析和验证也将集中在一个地方。

【讨论】:

    【解决方案2】:

    您可以使用Environment.GetCommandLineArgs()

    【讨论】:

      【解决方案3】:

      您可以使用Environment.CommandLine,它为您提供命令行参数的直字符串,也可以使用Environment.GetCommandLineArgs(),它为您提供参数数组。请注意,数组中的第一个元素将是应用程序的名称。

      【讨论】:

        【解决方案4】:

        您可以将它们读入 main() 中的全局变量,然后在整个应用程序中使用它们。

        【讨论】:

          【解决方案5】:

          Environment.CommandLineEnvironment.GetCommandLineArgs()

          最后一个选项更可取,因为它会返回一个字符串数组,其中包含在命令行上传递的每个参数。请记住,第一个(索引 0)是可执行文件名

          【讨论】:

            猜你喜欢
            • 2015-06-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-11-02
            • 1970-01-01
            • 2011-06-24
            • 1970-01-01
            相关资源
            最近更新 更多