我有两个 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)) );
我正在尝试使用这些行,我正在获取具有正确扩展名的文件列表,但我不知道如何获取目录属性位于我的子目录中的文件目录列表。
请提前帮助并提前致谢;
答案 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();