9

私はC#プログラムで使用します

System.IO.Directory.GetFiles(dirname, "*.*", System.IO.SearchOption.AllDirectories).Length;

共有上のディレクトリ(およびそのサブディレクトリ)内のファイル数をカウントします。ループ内の多くのディレクトリに対してこれを行います。問題は、私のプログラムの20〜30回の呼び出しの後、GetFiles(...).Length突然フリーズするか、非常に遅くなることです。その理由は何で、この問題をどのように解決できますか! 回避策はありますか?

4

2 に答える 2

7

http://www.codeproject.com/KB/files/FastDirectoryEnumerator.aspxを見てください。この記事が役に立ちますように。

于 2011-07-19T15:33:35.817 に答える
0

以前の呼び出しの結果をなんらかの方法で保存していないため、アプリケーションがメモリ不足に陥っていませんか? タスク マネージャーの [プロセス] タブで、アプリケーションのメモリ割り当てを確認します。

于 2011-07-25T11:45:58.117 に答える