我在计算文件共享上的文件时遇到问题(存在时间超过1小时):
两种“已知”方法:
的GetFiles
dir.Getfiles.Where(Function(x) x.CreationTime < DateTime.Now.AddHours(-1)).Count()
链接:GetFiles
EnumerateFiles
dir.EnumerateFiles.Where(Function(x) x.CreationTime < DateTime.Now.AddHours(-1)).Count()
有没有更快的方法来计算文件夹/文件共享中的文件数?
文件数量可能从2000到500,000不等。上面显示的两种方法都显示超出30 000个文件的性能急剧下降。
在SO上发现的问题没有为我解决:
答案 0 :(得分:1)
另一种选择是:
跟踪添加和删除 添加和删除集合。
我认为DirectoryInfo.EnumerateFiles会更快
原因有两个:
在整个集合返回之前列举一个
二是它包括日期。 Getfiles只返回名称,因此它可能会再次获取日期。