首页 > 解决方案 > if 语句检查文件夹是否包含文件

问题描述

我需要一个 if 语句来检查一个文件夹是否包含文件。我已经尝试了一些事情,但如果根文件夹中的子文件夹中有文件,我无法让它工作。我是否必须有一个循环才能查看子文件夹?这是我到目前为止所拥有的:

if(Directory.GetDirectories(oldDir).Length == 0 && Directory.GetFiles(oldDir).Length == 0)
{
   //do this
}

我希望它会选择其中不包含任何文件的文件夹。(天气是否有子文件夹)

标签: c#fileif-statementmove

解决方案


您不必获取所有文件/目录GetFiles(想象一下,如果我们想知道我们是否有文件c:\)。我们可以尝试开始枚举文件并检查是否有Any它们。如果我们想检查 子文件夹,我们可以添加SearchOption.AllDirectories选项:

// Do we have any file - "*" in any directory or sub directory  
if (Directory.EnumerateFiles(oldDir, "*", SearchOption.AllDirectories).Any()) {    
  //do this
}

推荐阅读