如何获得 2 级目录

本文关键字:何获得 | 更新日期: 2023-09-27 17:55:19

>我有一个这样的目录,其中包含一些子目录:

root
    child-1
        child-1-1
            child-1-1-1
            ...
            child-1-1-n
        child-1-2
            child-1-2-1
            ...
            child-1-2-n
        ...
    child-2
        child-2-1
            child-2-1-1
            ...
            child-2-1-n
        child-2-2
            child-2-2-1
            ...
            child-2-2-n
    child-N

使用此代码:

var dirInfo = new DirectoryInfo(@"c:'root");
var folders = dirInfo.GetDirectories().ToList();
foreach (var item in folders)
{
  Console.WriteLine(item.Name);
}

我只是得到第一级;

child-1
child-2
child-3
....
child-n

现在我想在 2 个级别获取root目录列表:

child-1
    child-1-1
    child-1-2
child-2
    child-2-1
    child-2-2
...

我认为递归函数是可能的,但我不确定。

提前谢谢。

如何获得 2 级目录

应该对您有所帮助,只需指定要在main方法中深入的程度即可

using System;
using System.IO;
using System.Linq;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.BufferHeight = 500;
            listDirec(@"c:'program files", 1, 2);
            Console.ReadKey();
        }
        static void listDirec(string path, int start, int end)
        {
            var dirInfo = new DirectoryInfo(path);
            var folders = dirInfo.GetDirectories().ToList();
            foreach (var item in folders)
            {
                Console.WriteLine("".PadLeft(start * 4, ' ') + item.Name);
                if (start < end)
                    listDirec(item.FullName, start + 1, end);
            }
        }
    }
}