![]() |
1
17
与使用GetFiles和蛮力搜索相比,您最有可能使用GetDirectory,首先获取“第一个子文件夹”的列表,遍历这些目录,然后对子文件夹重复该过程,遍历它们,最后查找xml文件夹,最后搜索.xml文件。 现在,对于性能来说,速度会有所不同,但是首先搜索目录,然后访问文件应该会有很大帮助!
好的,我做了一个快速的测试,你实际上可以比我想象的更进一步地优化它。
如果你把它放到一个测试控制台应用程序中,你会看到它输出结果。
|
![]() |
2
6
我创建了一个递归方法
|
![]() |
3
3
|
![]() |
4
0
在C#中我想不出任何更快的方法,但是您是否为该文件系统启用了索引功能? |
![]() |
5
0
我能看出这会有很大不同的唯一方法是从蛮力狩猎转变为使用第三方或操作系统索引例程来加速返回。这样,搜索就可以从你的应用程序离线完成。 但我也建议,如果可能的话,你应该寻找更好的方法来构建这些数据。 |
![]() |
6
0
在上使用P/Invoke
|
![]() |
7
0
根据您的需要和配置,您可以使用Windows搜索索引: https://msdn.microsoft.com/en-us/library/windows/desktop/bb266517(v=vs.85).aspx 根据您的配置,这可能会大大提高性能。 |
![]() |
8
0
您可以在GitHub上找到有关库的所有信息: https://github.com/VladPVS/FastSearchLibrary https://github.com/VladPVS/FastSearchLibrary/releases 如果你有任何问题,请问他们。 工作非常快。你自己检查一下!
这是其他示例的一部分:
此外,可以使用简单的静态方法:
此外,如果使用多核处理器,该库的快速方法的执行速度至少是简单的单线程递归算法的2倍。 |
![]() |
9
0
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 5 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 5 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 5 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |