2011-04-29 57 views
1

我一直在試圖比較來自兩個不同環境的文件。兩種環境都通過網絡驅動器訪問。C#比FileInfo.Length有多種文件比較有更快的方法嗎?

首先,我檢查,如果該文件是存在於環境中(爲了節省時間),然後我問一個FileInfo兩個文件,以比較它們的filesizes(FileInfo.Length)。

我的目標是填充列表視圖與不具有相同的大小來調查這些以後每文件。

我覺得很難理解Windows資源管理器得到了很多,所以很快的文件的文件大小和FileInfo的是這麼長時間......

感謝。 本

回答

3

如果使用DirectoryInfo.GetFiles(某些搜索模式)來獲取這些文件,然後使用從該調用返回的FileInfo的實例,則該屬性FileInfo.Length將從搜索緩存。

這是否將是有幫助顯然取決於搜索相比,目前你正在做(如果搜索是慢,你可能不會獲得任何東西)檢查如何執行。不過,這可能值得研究。

+0

我從來沒有想過,DirectoryInfo的是給這種類型信息的... 我一直認爲這是目錄只涉及,而不是文件相關。我用Directory.GetFiles(),其次是倍數的FileInfo每個文件... 非常感謝你,這是很簡單的這種方式。 – user731117 2011-04-29 14:07:30

+0

出人意料的是,就在我收到我的FileInfo [] myFileInfo從DirectoryInfo.GetFiles(),我做一個foreach(FileInfo的F IN myFileInfo)和花費的時間是相同的比以前。看起來像返回值FileInfo []不是全部加載到內存中... – user731117 2011-04-29 15:25:17