System.IO.DirectoryInfo.EnumerateFiles 方法

方法描述

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

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

public IEnumerable EnumerateFiles()

参数/返回值

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

提示和注释

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

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

Attributes

CreationTime

CreationTimeUtc

LastAccessTime

LastAccessTimeUtc

LastWriteTime

LastWriteTimeUtc

Length

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

System.IO.DirectoryInfo.EnumerateFiles 方法例子

有关示例,请参见 Directory.EnumerateFiles(String) 方法。

// Create a DirectoryInfo of the directory of the files to enumerate.
DirectoryInfo DirInfo = new DirectoryInfo(@"\\archives1\library\");

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

// LINQ query for all files created before 2009.
var files = from f in DirInfo.EnumerateFiles()
		   where f.CreationTimeUtc < StartOf2009
		   select f;

// Show results.
foreach (var f in files)
{
	Console.WriteLine("{0}", f.Name);
}

异常

异常 异常描述
DirectoryNotFoundException 封装在 FileInfo 对象中的路径无效(例如,在未映射的驱动器上)。
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 系统要求。