我有一个包含要传递给另一个可执行文件的命令行参数的字符串,我需要提取包含单个参数的字符串[] ,方式与在命令行上指定命令时 C # 的方式相同。当通过反射执行另一个程序集入口点时,将使用字符串[]。
这个有标准函数吗?或者有一个首选的方法(regex?)正确地分解参数?它必须处理“”’分隔的字符串,这些字符串可能正确地包含了空格,因此我不能只在“’上分割。”。
示例字符串:
string parameterString = @"/src:""C:\tmp\Some Folder\Sub Folder"" /users:""abcdefg@hijkl.com"" tasks:""SomeTask,Some Other Task"" -someParam foo";
示例结果:
string[] parameterArray = new string[] {
@"/src:C:\tmp\Some Folder\Sub Folder",
@"/users:abcdefg@hijkl.com",
@"tasks:SomeTask,Some Other Task",
@"-someParam",
@"foo"
};
我不需要命令行解析库,只需要一种获取应该生成的 String []的方法。
更新 : 我必须更改预期的结果,以匹配 C # 实际生成的内容(删除了拆分字符串中多余的“ s”)