C#是否有比FileInfo.Length更快的方式与多个文件比较?

时间:2011-04-29 13:27:52

标签: c# fileinfo

我一直在尝试比较来自两个不同环境的文件。这两种环境都可以通过网络驱动器访问。

首先,我检查了两个环境中是否存在该文件(以节省时间),然后我要求两个文件上的FileInfo比较它们的文件大小(FileInfo.Length)。

我的目标是使用不同大小的每个文件填充列表视图,以便稍后对其进行调查。

我发现很难理解Windows资源管理器如此快速地获取了大量文件的文件大小并且FileInfo花了这么长时间......

感谢。 本

2 个答案:

答案 0 :(得分:3)

如果您使用DirectoryInfo.GetFiles( some-search-pattern )来获取文件,那么使用从该调用返回的FileInfo实例,然后将从该文件缓存属性FileInfo.Length搜索。

这是否有任何帮助显然取决于搜索与您当前正在进行的检查相比的执行方式(如果搜索速度较慢,您可能无法获得任何收益)。不过,它可能值得研究。

答案 1 :(得分:1)

您可以尝试以操作系统方式进行操作。你通过win32系统调用来调用。你可以从这个页面开始,

http://www.pinvoke.net/default.aspx/kernel32.getfilesize