1. ホーム
  2. c#

[解決済み] Directory.EnumerateFiles と Directory.GetFiles の違いは何ですか?

2022-04-24 18:14:24

質問

とはどのような違いがあるのでしょうか? Directory.EnumerateFilesGetFiles ?

明らかに、一方は配列を返し、もう一方はEnumerableを返します。

他に何かありますか?

解決方法は?

から ドキュメント :

EnumerateFilesメソッドとGetFilesメソッドは、以下のように異なります。EnumerateFiles を使用する場合は、名前のコレクション全体が返される前に列挙を開始できます。GetFiles を使用する場合は、名前の配列全体が返されるまで待ってから配列にアクセスする必要があります。したがって、多くのファイルやディレクトリを扱う場合は、EnumerateFilesを使用すると効率的です。

だから、基本的には EnumerateFilesIEnumerable は多少遅延して評価されることがありますが、一方 GetFiles が返されます。 string[] を返す前に、完全に入力されている必要があります。