Разбить строку, содержащую параметры командной строки, на строку [] в C #

У меня есть одна строка, содержащая параметры командной строки для передачи другому исполняемому файлу, и мне нужно извлечь строку [], содержащую отдельные параметры, так же, как C #, если бы команды были указаны в командной строке. Строка [] будет использоваться при выполнении другой точки входа сборок посредством отражения.

Есть ли стандартная функция для этого? Или есть предпочтительный метод (регулярное выражение?) Для правильного разделения параметров? Он должен обрабатывать строки с разделителями '' ', которые могут содержать пробелы правильно, поэтому я не могу просто разделить на' '.

Пример строки:

string parameterString = @"/src:""C:\tmp\Some Folder\Sub Folder"" /users:""[email protected]"" tasks:""SomeTask,Some Other Task"" -someParam foo";

Пример результата:

string[] parameterArray = new string[] { 
  @"/src:C:\tmp\Some Folder\Sub Folder",
  @"/users:[email protected]",
  @"tasks:SomeTask,Some Other Task",
  @"-someParam",
  @"foo"
};

Мне не нужна библиотека для разбора командной строки, просто способ получить String [], который должен быть сгенерирован.

Обновить: Мне пришлось изменить ожидаемый результат, чтобы соответствовать тому, что на самом деле генерируется C # (убрал лишние "в разделенных строк)

Ответы на вопрос(20)

Ваш ответ на вопрос