检查目录是否没有文件,但它可能包含子文件夹

Tha*_*kis 11 c#

我需要检查目录是否为空.问题是,我想将目录视为空,如果它包含子文件夹,无论子文件夹是否包含文件.我只关心我正在看的路径中的文件.这个目录将通过网络访问,这种情况有点复杂.最好的方法是什么?

Dou*_*las 29

该Directory.EnumerateFiles(string)方法重载只返回包含文件直接在指定的目录中.它不返回其中包含的任何子目录或文件.

bool isEmpty = !Directory.EnumerateFiles(path).Any();
Run Code Online (Sandbox Code Playgroud)

的优势EnumerateFiles比GetFiles是文件的集合枚举点播,这意味着当返回的第一个文件(从而避免读取文件的其余部分的目录)查询将尽快取得成功.


isp*_*iro 8

也许这个:

if (Directory.GetFiles(path).Length == 0)...... ;
Run Code Online (Sandbox Code Playgroud)