相关疑难解决方法(0)

在C#中解析命令行参数的最佳方法?

构建带参数的控制台应用程序时,可以使用传递给的参数Main(string[] args).

在过去,我只是索引/循环该数组并完成一些正则表达式来提取值.但是,当命令变得更复杂时,解析会非常难看.

所以我对以下内容感兴趣:

  • 您使用的库
  • 您使用的模式

假设命令始终遵循通用标准,例如此处的答案.

.net c# command-line-arguments

733
推荐指数
8
解决办法
49万
查看次数

在C#中将包含命令行参数的字符串拆分为字符串[]

我有一个字符串,其中包含要传递给另一个可执行文件的命令行参数,我需要提取包含各个参数的字符串[],方法与在命令行中指定命令时C#相同.通过反射执行另一个程序集入口点时将使用字符串[].

这有标准功能吗?或者是否有正确分割参数的首选方法(正则表达式?)?它必须处理'''可能正确包含空格的分隔字符串,所以我不能只拆分''.

示例字符串:

string parameterString = @"/src:""C:\tmp\Some Folder\Sub Folder"" /users:""abcdefg@hijkl.com"" tasks:""SomeTask,Some Other Task"" -someParam foo";
Run Code Online (Sandbox Code Playgroud)

示例结果:

string[] parameterArray = new string[] { 
  @"/src:C:\tmp\Some Folder\Sub Folder",
  @"/users:abcdefg@hijkl.com",
  @"tasks:SomeTask,Some Other Task",
  @"-someParam",
  @"foo"
};
Run Code Online (Sandbox Code Playgroud)

我不需要命令行解析库,只需要获取应生成的String [].

更新:我必须更改预期结果以匹配C#实际生成的内容(删除了拆分字符串中的额外")

c# command-line text-parsing

84
推荐指数
7
解决办法
8万
查看次数