1

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

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

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

4

3 回答 3

5

你可以试试 LINQ:

var files = Directory.EnumerateFiles("C:\\").Where(x => !x.EndsWith(".txt")).ToList();
于 2013-10-11T09:22:36.587 回答
3

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

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

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

于 2013-10-11T09:23:09.993 回答
2

使用 linq

var files = Directory.GetFiles(dir)
    .Where(file=> !file.EndsWith(".txt").ToList();
于 2013-10-11T09:23:46.887 回答