要查找所有 .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();