使用DirectoryInfo制作foreach时应该是什么?

时间:2016-03-12 07:16:33

标签: c# .net winforms

private void CountFiles(DirectoryInfo di, List<FileInfo> l, Action<int> CurrentCount) {
            foreach (DirectoryInfo dir in subDirs)
                CountFiles(dir, l, currentCount=> {
                    CurrentCount(l.Count);

                });
        }

变量subDirs不存在,但如果存在它应该是什么?什么类型?

3 个答案:

答案 0 :(得分:1)

您需要GetDirectories()DirectoryInfo方法:

private void CountFiles(DirectoryInfo di, List<FileInfo> l, Action<int> CurrentCount) {
    foreach (DirectoryInfo dir in di.GetDirectories())
        CountFiles(dir, l, currentCount=> {
            CurrentCount(l.Count);
        });
}

答案 1 :(得分:1)

正如varabiales的名字所说,它应该包含当前目录的子目录。 所以

foreach (DirectoryInfo dir in di.GetDirectories())
{ 
    ....
}

答案 2 :(得分:1)

如果您查看此link,您就会找到您正在寻找的方法。 subDirs的值将是DirectoryInfo的数组。

所以:

DirectoryInfo[] subDirs = di.GetDirectories();