public static List<string[]> SubSubFolders()
{
// int variable for while loop
int i = 0;
// String Array to hold top SubFol
string[] dir = Directory.GetDirectories("c:\\");
//List<String[]> to hold a list of arrays from dir
List<string[]> subSub = new List<string[]>();
string[] finalResult = new string[0];
//Loop through all the folders in the dir.
while (i < dir.Length)
{
string folder1 = dir(i);
DirectoryInfo di = new DirectoryInfo(folder1);
if (!di.Attributes.HasFlag(FileAttributes.Hidden))
{
subSub.Add(Directory.GetDirectories(folder1));
}
i++;
}
return subSub;
}
这是我的代码。我的目标是创建一个程序,允许我浏览给定目录下存在的所有目录,并按顺序列出它们。例如,整体代码将执行以下操作:
c:\documents
c:\documents\abtemp
c:\documents\abtemp\chuck
c:\documents\rubbish
c:\documents\state1
etc
我可以打印出第二级并即将进入更深的子目录。我的问题是我的打印输出根本没有显示顶部文件夹。
我为解决该问题所做的工作: * 尝试将目录添加到 subSub:我收到无法将 String 转换为 String[] 的错误。* 尝试将 subSub 更改为 string[] 而不是 list :我无法将子目录添加到数组中。* 尝试将 dir 更改为 List 而不是 string[]: * Directory.GetDirectories 给出了无法隐式转换类型 'string[]' 到 'System.Collections.Generic.List' 的错误
所以我的问题:如何将我的目录添加到 subSub 或反之亦然以完成列表?有没有更干净的方法来完成这项工作?
相关分类