我想寫一些數據到C#與COM的Excel,但我有一個問題保存。讓我們來看看代碼:在C中的斜槓和逃逸問題#
workSheet.SaveAs("c:/users/amare/sub.xls");
上面的代碼將導致錯誤:
"Microsoft Excel can't open the file c://users/amare/sub.xls."
但下面的代碼工作正常:
workSheet.SaveAs("c:\\users/amare/sub.xls");
workSheet.SaveAs(@"c:\users\amare\sub.xls");
現在我對這種情況很困惑。我知道,2),3)是絕對正確的,但我已經習慣了編寫代碼就像1):
StreamWriter sw = new StreamWriter("c:/users/amare/desktop/file.txt");
sw.WriteLine("foo-bar");
sw.close();
這一直工作正常。所以我想知道爲什麼它不這樣做。顯然,C#在1)中錯誤地轉義了路徑。
「c:/ users」不是有效的Windows路徑。 – 2012-07-15 09:09:09
如果從這個路徑「c:/ users」開始運行,它是有效的路徑 – HatSoft 2012-07-15 09:11:05
我個人比較討厭使用正斜槓作爲本地路徑。本地路徑 - 反斜線。 Web路徑 - 正斜槓。 – GSerg 2012-07-15 09:12:07