我試圖將多個路徑作爲參數傳遞給控制檯應用程序,但得到了「路徑中的非法字符」錯誤。看起來有些事情將錯誤的參數"C:\test\"
的最後兩個字符誤認爲是一個轉義的雙引號。爲什麼C#顯示爲部分不轉義命令行參數?
例如,如果我創建C#像這樣一個新的空的控制檯應用程序:根據項目屬性
static void Main(string[] args)
{
Console.WriteLine(args[0]);
Console.ReadLine();
}
和, - >調試我添加一個命令行參數,像這樣:
那麼我的輸出是這樣的:
如果該值正在評估/未轉義,爲什麼\t
不成爲選項卡?
如果該值未被評估/未轉義,爲什麼\"
成爲雙引號?
(注:我知道我可以解決此通過,例如,修剪尾隨反斜槓等。我要求幫助理解爲什麼的論點似乎是部分評估)
相關http://stackoverflow.com/questions/17168961/how-do-i-escape-in-verbatim-string和http://stackoverflow.com/questions/15932279/escaping-command-line-arguments- in-c-sharp-for-urls-and-local-and-network-paths –