我使用以下代碼Directory.EnumeratedDirectorties在執行前被推遲了嗎?
var allFolderPaths = Directory.EnumerateDirectories(this.sourceFolder, "*.*", SearchOption.AllDirectories);
我遇到的問題,是foreach循環(如上所示遍歷allFolderPaths變量)期間,它是失敗,因爲目錄中找不到。現在
,下面的代碼是,本身不看目錄等,它只是一個字符串循環:
foreach (string folder in StringList)
{
/dostuff
}
然而,當我更新使用allFolderPaths(可根據在第一個例子的代碼這篇文章)
foreach (string folder in allFolderPaths)
{
/dostuff
}
它由於「訪問被拒絕的路徑」而失敗!
那麼,這是否意味着變量allFolderPaths實際上並沒有被分配給它(如果這有什麼意義)?
哈哈,你知道你的東西;是的,這是造成這個問題的My Documents文件夾 - 這就是爲什麼我試圖通過每個文件夾,一次一個,看看我是否有權限,如果是這樣,將它添加到HavePermisionsList – Dave
你有沒有這是一個解決方案嗎? – Dave
問題文件夾是'假'文件夾:即'我的圖片','我的音樂'等我做了一個'SafeEnumerateDirectory'函數,它將捕獲異常。來源https://gist.github.com/3972045 – Grynn