要查找所有.txt文件,我们可以使用:
Directory.GetFiles(@"c:\","*.txt")
有没有办法找到所有与模式不匹配的文件(例如:所有文件都没有扩展名.txt)。
答案 0 :(得分:4)
您可以尝试LINQ:
var files = Directory.EnumerateFiles("C:\\").Where(x => !x.EndsWith(".txt")).ToList();
答案 1 :(得分:3)
没有内置的搜索模式。但你可以使用Linq:
var files = Directory.EnumerateFiles(dir)
.Where(fn => !Path.GetExtension(fn).Equals(".txt", StringComparison.OrdinalIgnoreCase))
.ToArray();
请注意,我使用EnumerateFiles
代替GetFiles
。后者在开始处理之前将al文件加载到内存中,使用EnumerateFiles
,您可以在返回整个集合之前开始枚举和过滤名称集合。
答案 2 :(得分:1)
使用linq
var files = Directory.GetFiles(dir)
.Where(file=> !file.EndsWith(".txt").ToList();