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

方法描述

返回当前 DirectoryInfo 中、与给定搜索条件匹配的目录的数组。

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

public DirectoryInfo[] GetDirectories(
	string searchPattern
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
searchPattern System-String 搜索字符串。例如,“System*”可用于搜索所有以单词“System”开头的目录。
返回值 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)例子

下面的示例对路径中包含指定字母的目录进行计数。

using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        try 
        {
            DirectoryInfo di = new DirectoryInfo(@"c:\");

            // Get only subdirectories that contain the letter "p."
            DirectoryInfo[] dirs = di.GetDirectories("*p*");
            Console.WriteLine("The number of directories containing the letter p is {0}.", dirs.Length);

            foreach (DirectoryInfo diNext in dirs) 
            {
                Console.WriteLine("The number of files in {0} is {1}", diNext, 
                    diNext.GetFiles().Length);
            }
        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}

异常

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

命名空间

namespace: System.IO

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

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.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 系统要求。