我需要根据以下两个条件读取磁盘文件
因此,我需要确保我读过的最后100个文件是最新的,每当我需要获得下一批100个文件名时,我必须能够从第101个文件开始,因为DateTime因子不能是碎。
LINQ会很好用!
由于
答案 0 :(得分:1)
如果我理解你需要什么,使用.NET 4.0你可以这样写:
Directory.EnumerateFiles(directory, searchPattern)
.Select(path => new FileInfo(path))
.Where(fileInfo => fileInfo.LastWriteTime >= date)
.OrderBy(fileInfo => fileInfo.LastWriteTime)
.Take(100);
如果您使用的是以前版本的框架,则可以使用Directory.GetFiles(),但必须检查其性能,因为它会读取 FULL 目录列表条目。