特に、特定のパス内のファイルの存在をチェックするプログラムを更新しています。ファイルは、メイン パスから離れた多くのサブディレクトリのいずれかに配置できます。以前は、特定のパターンに一致するファイルをこのパス全体で検索していましたが、更新の一部として、予想されるファイルのリストを含む別の配列が作成されました。
その配列の存在を考えると、私が検討している 2 つのオプションがあります。
同じ呼び出しを使用して
Directory.EnumerateFiles(startingPath, pattern, SearchOption.Alldirectories)
、配列に対して結果を確認します (おそらくラムダを介して)。File.Exists()
配列の各メンバーに対して複数の呼び出しを使用します。
平均的なケースでは、特定の呼び出しに対して配列内の 3 つ以下のファイルについて話しています。ハイエンドのケースでは、私たちはまだダース未満について話している. ほとんどの実行には、数百または数千の呼び出しが含まれます。
このプログラムはすでにリソースを大量に消費しているため、ここでは間違いなく最も効率的な方法を使用したいと考えています。どちらがより効率的ですか? より良い方法はありますか?ファイル名のデータ構造を配列から別のタイプに変更することは、改善につながる場合に可能です。