System.IO.DirectoryInfo.GetDirectories 方法 (String, SearchOption)

方法描述

返回当前 DirectoryInfo 中与给定的搜索条件匹配并使用某个值确定是否在子目录中搜索的目录的数组。

语法定义(C# System.IO.DirectoryInfo.GetDirectories 方法 (String, SearchOption) 的用法)

public DirectoryInfo[] GetDirectories(
	string searchPattern,
	SearchOption searchOption
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
searchPattern System-String 搜索字符串。例如,“System*”可用于搜索所有以单词“System”开头的目录。
searchOption System-IO-SearchOption 用于指定搜索操作是应仅包含当前目录还是应包含所有子目录的枚举值之一。
返回值 System.IO.DirectoryInfo[] 与 searchPattern 匹配的 DirectoryInfo 类型的数组。

提示和注释

允许使用通配符。 例如,searchPattern 字符串“*t”会在 path 中搜索所有以字母“t”结尾的目录名。 searchPattern 字符串“s*”会在 path 中搜索所有以字母“s”开头的目录名。

字符串“..”只有在被指定为有效目录名的一部分(如在目录名“a..b”中)时,才能用在 searchPattern 中。 它不能用于沿着目录层次结构向上移动。

如果不存在子目录,或不存在与 searchPattern 参数匹配的子目录,此方法将返回一个空数组。

此方法预填充下面的 DirectoryInfo 属性的值:

Attributes

CreationTime

CreationTimeUtc

LastAccessTime

LastAccessTimeUtc

LastWriteTime

LastWriteTimeUtc

System.IO.DirectoryInfo.GetDirectories 方法 (String, SearchOption)例子

下面的示例列出了“c:\”中以字母“c”开头的所有目录和文件。

using System;
using System.IO;

class App
{
    public static void Main()
    {
        // Specify the directory you want to manipulate.
        string path = @"c:\";
        string searchPattern = "c*";

        DirectoryInfo di = new DirectoryInfo(path);
        DirectoryInfo[] directories = 
            di.GetDirectories(searchPattern, SearchOption.TopDirectoryOnly);

        FileInfo[] files = 
            di.GetFiles(searchPattern, SearchOption.TopDirectoryOnly);

        Console.WriteLine(
            "Directories that begin with the letter \"c\" in {0}", path);
        foreach (DirectoryInfo dir in directories)
        {
            Console.WriteLine(
                "{0,-25} {1,25}", dir.FullName, dir.LastWriteTime);
        }

        Console.WriteLine();
        Console.WriteLine(
            "Files that begin with the letter \"c\" in {0}", path);
        foreach (FileInfo file in files)
        {
            Console.WriteLine(
                "{0,-25} {1,25}", file.Name, file.LastWriteTime);
        }
    } // Main()
} // App()

异常

异常 异常描述
ArgumentException searchPattern 包含由 GetInvalidPathChars 方法定义的一个或多个无效字符。
ArgumentNullException searchPattern 为 null。
ArgumentOutOfRangeException searchOption 不是有效的 SearchOption 值。
DirectoryNotFoundException 封装在 DirectoryInfo 对象中的路径无效(例如,在未映射的驱动器上)。
UnauthorizedAccessException 调用方没有所要求的权限。

命名空间

namespace: System.IO

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。