如何在列表和特定父目录中获取具有特定扩展名的文件列表

时间:2016-02-10 15:42:09

标签: c# list file

我有两个 enum 用于保存搜索中的有效扩展名列表以及其他我想要搜索文件的有效目录列表。 这是我的代码:

 var ext = folder.IncludedExt;//type enum
 var subdirectories = folder.IncludeSubfolder;//type enum
 var myFiles = dir1.GetFiles("*.*", System.IO.SearchOption.AllDirectories).
          Where(file => ext.Any(x => file.Name.EndsWith(x.ToString(), StringComparison.OrdinalIgnoreCase)) );

我正在尝试使用这些行,我正在获取具有正确扩展名的文件列表,但我不知道如何获取目录属性位于我的子目录中的文件目录列表。

请提前帮助并提前致谢;

2 个答案:

答案 0 :(得分:1)

也许您可以考虑使用LINQ Select语句返回FileInfo列表。然后,追加“Where”过滤器,可以查询文件的扩展名(而不是endsWith条件)。 Finnaly,您将以一个fileInfo列表结束,该列表仅包含比文件路径更多的数据。 这有帮助吗?

答案 1 :(得分:0)

最后我找到了它

  list1 = dir1.GetFiles("*.*", System.IO.SearchOption.AllDirectories).ToList().
                       Where(file => ext.Any(x => file.Name.EndsWith(x.ToString(),
                       StringComparison.OrdinalIgnoreCase)) &&
                       subdirectories.Any(x => file.Directory.Name.Equals(x.ToString(), StringComparison.OrdinalIgnoreCase))).ToList();