Проблема синтаксического анализа аргументов командной строки, содержащих символ «&» в C # .Net - PullRequest
1 голос
/ 18 мая 2009

Я работаю в среде VisualStudio 2008 и занимаюсь разработкой приложения для командной строки на C # .Net. Приложение ожидает, что путь будет передан из аргумента командной строки. Я передаю эти аргументы своему приложению, установив «Аргументы командной строки» в параметре отладки настройки проекта. Я привел следующий аргумент -> «D: \ Test \ C & ID \ Test data \ a.dbf»

class Program
{
    static int Main(string[] args)
    {
        Console.WriteLine(args[0]);
        return 0; 
    }
}

Работает нормально, если я запускаю программу, используя F5. Проблема в том, когда я использую Ctrl + F5. args[0] содержит

D:\Test\C^&ID\Test data\a.dbf

вместо

D:\Test\C&ID\Test data\a.dbf.

Я не могу понять, что как «&» предшествует символ «^». Далее мой путь проверки не проходит из-за этого. Может кто-нибудь, пожалуйста, объясните мне это. (Обратите внимание, что представленные аргументы заключены в двойные кавычки, а часть содержит символ «&»). И я думаю, что этим я объяснил свою проблему :-)

1 Ответ

1 голос
/ 18 мая 2009

Просто проверяю - вы знаете, что в конфигурации есть разные наборы аргументов командной строки, верно?

Таким образом, аргументы командной строки в конфигурации отладки (F5) могут отличаться от аргументов в конфигурации выпуска (Ctrl + F5).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...