【发布时间】:2018-11-23 12:29:22
【问题描述】:
我试图在不使用 SearchOption.AllDirectories 的情况下打印每个子目录,仅使用 Directory.GetDirectories 我正在使用递归。我的主要问题是打印出前面有两个空格的每个子目录,如下所示:
1
1,1
1,1,1
2
2,1
3
etc...
class Program
{
static void Main(string[] args)
{
string path = @"D:\Heaven Benchmark 4.0";
WriteDirectories(path);
Console.ReadKey();
}
static void WriteDirectories(string path)
{
string[] dirs = Directory.GetDirectories(path/*, "*", SearchOption.AllDirectories*/);
for (int i = 0; i < dirs.Length; i++)
{
Console.Write(dirs[i] + "\n");
if (Directory.GetDirectories(dirs[i]).Length > 0)
{
Console.Write(" "); WriteDirectories(dirs[i]);continue;
}
}
}
}
【问题讨论】:
-
也许可以使用方法的另一个参数跟踪缩进,并在执行递归调用时增加它?