2010-04-18 81 views
0

我得到一個「DirectoryNotFoundException」的錯誤,這裏是代碼:C# - 問題,同時列出目錄 - DirectoryNotFoundException

string directorio = "D:\MUSICA\La Trampa - El Mísero Espiral De Encanto"; 
DirectoryInfo dir = new DirectoryInfo(directorio); 
DirectoryInfo[] dirs = dir.GetDirectories(); <------------This is the line I'm having this problem. 

我相信它的時候,它會分析該字符串Mísero的波浪線部分引起的。 目錄D:\MUSICA\La Trampa - El Mísero Espiral De Encanto存在,因爲我可以看到它,也有一些文件。 有沒有什麼辦法以正確的方式發送這個字符串?

感謝

+1

在directorio變量上放置一個斷點,並檢查實際值,這將增加理解Oded爲何需要轉義路徑的答案。 – 2010-04-18 16:12:10

回答

7

您的代碼將無法正常工作開始說起,因爲你在字符串中的非法轉義碼(\M\L)。

你需要逃避你反斜槓,或使用string literal

string directorio = @"D:\MUSICA\La Trampa - El Mísero Espiral De Encanto"; 

或者:

string directorio = "D:\\MUSICA\\La Trampa - El Mísero Espiral De Encanto"; 

否則從MUSICAM轉義爲從LaL。正如我已經提到的,這些不是合法的轉義碼,可以看到here

+0

我不確定是否是這種情況,我可以訪問D:\ Musica中的其他目錄 無論如何感謝 – HoNgOuRu 2010-04-18 16:10:08

+0

@HoNgOuRu - 閱讀這個,也許這會說服你... http://msdn.microsoft.com /en-us/library/ms228362.aspx – Oded 2010-04-18 16:14:32

+0

-1。 「無法識別的轉義序列」是您獲得該字符串的錯誤。他可能會顯示「錯誤」的代碼,但他肯定沒有給出正確的代碼 - 它甚至不會編譯。 – 2010-04-18 16:21:50

0

感謝您的回答,問題來自其他類型。 操作系統無法刪除該目錄,它表示該目錄不存在。 這可能是由HD錯誤引起的。我會盡力解決它,但沒有任何關係我的問題。 再次感謝。