DirectoryInfo.GetDirectories
方法是C#中DirectoryInfo类提供的一个方法,用于获取指定目录中的所有子目录。
方法概述
public DirectoryInfo[] GetDirectories();
参数
该方法没有参数。
返回值
返回类型是DirectoryInfo[],表示包含指定目录的所有子目录的字符串数组。
示例说明
示例一:获取指定目录下的所有子目录,并输出它们的名称
using System;
using System.IO;
class Example
{
static void Main()
{
try
{
// 指定要获取子目录的目录路径
DirectoryInfo dir = new DirectoryInfo(@"C:\example");
// 获取目录中的子目录
DirectoryInfo[] dirs = dir.GetDirectories();
// 打印子目录的名称
foreach (DirectoryInfo d in dirs)
{
Console.WriteLine(d.Name);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
该示例中,首先使用DirectoryInfo
类创建一个目录信息对象,表示要获取子目录的目录。接着,调用GetDirectories
方法,获得一个包含所有子目录信息的数组。最后,在一个foreach
循环中,通过遍历子目录信息数组,输出每个子目录的名称。
示例二:获取指定目录下所有子目录中的文件总数,并输出
using System;
using System.IO;
class Example
{
static void Main()
{
try
{
// 指定要获取子目录中文件总数的目录路径
DirectoryInfo dir = new DirectoryInfo(@"C:\example");
// 获取目录中的所有子目录
DirectoryInfo[] dirs = dir.GetDirectories();
int fileCount = 0; // 文件总数
// 遍历每个子目录
foreach (DirectoryInfo d in dirs)
{
// 获取子目录中所有文件
FileInfo[] files = d.GetFiles("*.*");
// 统计文件数
fileCount += files.Length;
}
// 输出文件总数
Console.WriteLine("File count: " + fileCount);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
在该示例中,首先使用DirectoryInfo
类创建一个目录信息对象,表示要获取子目录中文件总数的目录。接着,调用GetDirectories
方法,获得一个包含所有子目录信息的数组。然后,初始化fileCount
变量,表示文件总数。接下来,在一个foreach
循环中,遍历子目录信息数组。对于每个子目录,通过GetFiles
方法获取其中的所有文件,并统计文件数。最后,输出文件总数。
综上所述,DirectoryInfo.GetDirectories
方法可以方便地获取指定目录的子目录,并且可以与其他System.IO
类中的方法结合使用,实现各种文件和目录的管理需求。