控制台应用执行参数

时间:2012-08-02 12:33:54

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

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

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

试图谷歌,但没有找到。

5 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:4)

您可以使用Environment.GetCommandLineArgs()

答案 2 :(得分:2)

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

答案 3 :(得分:2)

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

答案 4 :(得分:2)

Environment.CommandLineEnvironment.GetCommandLineArgs()

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