Символ @
- это специальная строка с кавычками, поэтому она ведет себя иначе, чем стандартная строка. По сути, происходит это процесс в настоящее время началось с того, что будет выглядеть следующим образом из командной строки:
> Helpdesk-02.exe "/department it"
Или один аргумент. Удаление @
символ силы C# интерпретировать строку, как и ожидалось:
> Helpdesk-02.exe /department it
Тонкий, но существенная разница.
Оператор @
был разработан, чтобы упростить работу с путями, которые имеют встроенные пространства, обратные косые черты и другие символы, которые должны быть экранированы в стандартных строках. По сути, он ускользает от вас. Эти два объявления эквивалентны:
string pathToExplorer = @"C:\Program Files\Internet Explorer\iexplore.exe";
string escaped = "\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"";
Лучше всего использовать оператор @
при работе с путями к файлам, а также использовать обычный способ при работе с параметрами.
Невозможно проверить это, так как у нас нет вашего исполняемого файла. Вы уверены, что вы получаете желаемые результаты, запуская их вручную? –
Можете ли вы отладить «Helpdesk-02.exe», чтобы проверить, что аргументы: a) read и b) правильно проанализированы? – ChrisF
Работает ли он, если вы используете метод 'Process.Start (String, String)' для передачи аргументов? –