System.IO.DirectoryInfo.EnumerateDirectories 方法

方法描述

返回当前目录中的目录信息的可枚举集合。

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

public IEnumerable EnumerateDirectories()

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
返回值 System.Collections.Generic.IEnumerable 当前目录中的目录的可枚举集合。

提示和注释

EnumerateDirectories 和 GetDirectories 方法不同点在于:当使用 EnumerateDirectories时,您可以在返回整个集合之前开始枚举 DirectoryInfo 对象的集合;当您使用 GetDirectories 时,则必须等待整个 DirectoryInfo 数组都被返回后才能访问数组。 因此,在处理许多文件和目录时,EnumerateDirectories 可能更高效。

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

Attributes

CreationTime

CreationTimeUtc

LastAccessTime

LastAccessTimeUtc

LastWriteTime

LastWriteTimeUtc

返回的集合未缓存;对于 GetEnumerator 方法在集合上的每次调用都将启动新枚举。

System.IO.DirectoryInfo.EnumerateDirectories 方法例子

有关示例,请参见 EnumerateDirectories(String) 方法。

// Create a DirectoryInfo of the Program Files directory.
DirectoryInfo dirPrograms = new DirectoryInfo(@"c:\program files");

DateTime StartOf2009 = new DateTime(2009, 01, 01);

// LINQ query for all directories created before 2009.
var dirs = from dir in dirPrograms.EnumerateDirectories()
            where dir.CreationTimeUtc < StartOf2009
            select new
            {
                ProgDir = dir,
            };
// Show results.
foreach (var di in dirs)
{
    Console.WriteLine("{0}", di.ProgDir.Name);
}

异常

异常 异常描述
DirectoryNotFoundException 封装在 DirectoryInfo 对象中的路径无效(例如,在未映射的驱动器上)。
SecurityException 调用方没有所要求的权限。

命名空间

namespace: System.IO

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

版本信息

.NET Framework 受以下版本支持:4 .NET Framework Client Profile 受以下版本支持:4

适用平台

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