爲了找到所有.txt文件,我們可以利用這一點:查找文件不匹配模式
Directory.GetFiles(@"c:\","*.txt")
有沒有辦法找到不匹配模式(前所有文件:沒有擴展名的文件。文本)。
爲了找到所有.txt文件,我們可以利用這一點:查找文件不匹配模式
Directory.GetFiles(@"c:\","*.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
。後者將al文件加載到內存中,然後才能開始處理,使用EnumerateFiles
,可以在返回整個集合之前開始枚舉和篩選名稱集合。
爲什麼是'Equals'? –
@HamletHakobyan這是使用'OrdinalIgnoreCase' –
@SriramSakthivel好的,但我的問題是關於Tim已經修復的另一個案例。 –
使用LINQ
var files = Directory.GetFiles(dir)
.Where(file=> !file.EndsWith(".txt").ToList();
+1'EnumerateFiles'。 –