正如标题所暗示的,我正在寻找一种方法来获取目录中大量文件的属性,但不会增加每个文件的额外磁盘访问成本。
例如,如果我在集合中获取 FileInfo 对象的 Name 属性,则没有额外的磁盘访问。但是,如果我得到 LastWriteTimeUtc,则会进行额外的磁盘访问。
我的代码:
DirectoryInfo di = new DirectoryInfo(myDir);
FileInfo[] allFiles = di.GetFiles("*.*", SearchOption.TopDirectoryOnly);
foreach (FileInfo fInfo in allFiles)
{
name = fInfo.Name //no additional disk access made
lastMod = fInfo.LastWriteTimeUtc //further disk access made!!!
}
有谁知道我可以在一次往返中获取此信息的方法?我希望 DirectoryInfo.GetFiles() 能做到这一点,但没有运气。
提前致谢。