ディレクトリが空かどうかを確認する必要があります。問題は、サブフォルダーにファイルが含まれているかどうかに関係なく、サブフォルダーが含まれている場合、ディレクトリを空と見なしたいことです。見ているパス内のファイルのみを気にします。このディレクトリはネットワーク経由でアクセスされるため、少し複雑になります。これについて最善の方法は何ですか?
28601 次
2 に答える
33
メソッドのオーバーロードは、指定されたディレクトリ内に直接Directory.EnumerateFiles(string)
含まれるファイルのみを返します。そこに含まれるサブディレクトリやファイルは返しません。
bool isEmpty = !Directory.EnumerateFiles(path).Any();
EnumerateFiles
overの利点はGetFiles
、ファイルのコレクションがオンデマンドで列挙されることです。つまり、最初のファイルが返されるとすぐにクエリが成功します (これにより、ディレクトリ内の残りのファイルを読み取ることが回避されます)。
于 2012-06-17T13:29:42.200 に答える
9
おそらくこれ:
if (Directory.GetFiles(path).Length == 0)...... ;
于 2012-06-17T13:31:07.283 に答える