我在.NET中编写目录扫描器。对于每个文件/目录,我需要以下信息。 class Info { public bool IsDirectory; public string Path; public DateTime ModifiedDate; public DateTime CreatedDate; }我有这个功能: static List<Info> RecursiveMovieFolderScan(string path){ var info = new List<Info>(); var dirInfo = new DirectoryInfo(path); foreach (var dir in dirInfo.GetDirectories()) { info.Add(new Info() { IsDirectory = true, CreatedDate = dir.CreationTimeUtc, ModifiedDate = dir.LastWriteTimeUtc, Path = dir.FullName }); info.AddRange(RecursiveMovieFolderScan(dir.FullName)); } foreach (var file in dirInfo.GetFiles()) { info.Add(new Info() { IsDirectory = false, CreatedDate = file.CreationTimeUtc, ModifiedDate = file.LastWriteTimeUtc, Path = file.FullName }); } return info; }事实证明这种实现是相当缓慢的。有什么办法可以加快速度吗?我正在考虑使用FindFirstFileW进行手动编码,但是如果有一种内置的方法可以更快地避免这种情况,我想避免这种情况。
3 回答
- 3 回答
- 0 关注
- 496 浏览
添加回答
举报
0/150
提交
取消