我使用以下代码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