C# Directory.GetDirectories – 获取目录下的所有子目录

  • Post category:C#

目录(Directory)操作是我们在日常开发过程中经常会遇到的一项任务,C#对此提供了丰富的API来操作目录。其中,Directory.GetDirectories方法用于获取特定目录下的子目录的名称。

方法作用

Directory.GetDirectories 方法用于获取指定目录下的子目录的完整路径名称列表。可以通过传递目录路径,获取该目录下所有子目录的名称列表。如果需要根据文件夹的名称或路径来过滤查询结果,可以传递一个通配符作为第二个参数。

使用方法

Directory.GetDirectories 方法有两种重载形式,分别为:

public static string[] GetDirectories(string path);
public static string[] GetDirectories(string path, string searchPattern);

其中,path 表示需要遍历的目录路径,searchPattern 为可选参数,用于过滤获取的子目录。

以下是一个简单的示例:

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string path = @"D:\test";
        string[] directories = Directory.GetDirectories(path);

        foreach (string directory in directories)
        {
            Console.WriteLine(directory);
        }
    }
}

此代码会输出目录 D:\test 下所有子目录的名称。

D:\test\abc
D:\test\cde

还可以传入类似 *abc* 这样的搜索模式到 GetDirectories 方法内,来对目录名称进行通配符匹配过滤。

以下是一个示例:

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string path = @"D:\test";
        string[] directories = Directory.GetDirectories(path, "*abc*");

        foreach (string directory in directories)
        {
            Console.WriteLine(directory);
        }
    }
}

此代码将输出在目录 D:\test 下名称包含 abc 的子目录。

D:\test\abc

结论

Directory.GetDirectories 方法是对于目录处理任务来说非常有用的API,通过查询特定目录下所有子目录的名称列表,可以轻松地完成相关的任务需求。