在C#中将包含命令行参数的字符串拆分为string []
我有一个包含要传递给另一个可执行文件的命令行参数的字符串,并且我需要以与C#如果在命令行上指定命令相同的方式提取包含单个参数的string []。通过反射执行另一个程序集入口点时,将使用string []。 为此有标准功能吗?还是有一种正确分割参数的首选方法(正则表达式?)?它必须处理'“'分隔的字符串,这些字符串可能正确包含空格,因此我不能仅对''进行拆分。 示例字符串: 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#实际生成的内容(删除了拆分字符串中多余的“”)