查找与模式不匹配的文件

本文关键字:文件 不匹配 模式 查找 | 更新日期: 2023-09-27 18:34:57

要查找所有.txt文件,我们可以使用它:

Directory.GetFiles(@"c:'","*.txt")

有没有办法找到所有与模式不匹配的文件(例如:所有没有扩展名.txt的文件(。

查找与模式不匹配的文件

你可以试试 LINQ:

var files = Directory.EnumerateFiles("C:''").Where(x => !x.EndsWith(".txt")).ToList();

没有内置的搜索模式。但是你可以使用 Linq:

var files = Directory.EnumerateFiles(dir)
  .Where(fn => !Path.GetExtension(fn).Equals(".txt", StringComparison.OrdinalIgnoreCase))
  .ToArray();

请注意,我使用了EnumerateFiles而不是GetFiles。后者在开始处理之前将所有文件加载到内存中,EnumerateFiles可以在返回整个集合之前开始枚举和筛选名称集合。

使用 linq

var files = Directory.GetFiles(dir)
    .Where(file=> !file.EndsWith(".txt").ToList();