我需要计算.NET 4中文件夹中的文件数: 计数将返回文件夹中除.db文件以外的所有文件的编号。
选项1:
IEnumerable<string> enumerables = Directory.EnumerateFiles(strPath, "*.*", SearchOption.TopDirectoryOnly);
int iNumFiles = 0;
foreach (string f in enumerables)
{
if (!f.EndsWith(".db"))
iNumFiles++;
}
//iNumFiles is the count
选项2:
int iNumFiles = 0;
IEnumerable<string> enumerables1 = Directory.EnumerateFiles(strPath, "*.*", SearchOption.TopDirectoryOnly);
IEnumerable<string> enumerables2 = Directory.EnumerateFiles(strPath, "*.db", SearchOption.TopDirectoryOnly);
iNumFiles = enumerables1.Count() - enumerables2.Count();
//iNumFiles is the count
我应该使用其他更简单但更好的方法(使用RegEx或其他方法)吗?
修改 我应该保留.db文件还是有用的?我所知道的只是文件夹内容的数据库(缓存)。
这会弄乱我的档案数量。
感谢阅读。
答案 0 :(得分:0)
将。结果转换为可查询对象。然后查询* .db项目。
var queryObject = My.Computer.FileSystem.getFiles(foldername, FileIO.SearchOption.SearchTopLevelOnly, "*.*").AsQueryable();
var filesIcareAbout = queryObject.where(f => right(f,3) != ".db");
我采用了一些语法shorcuts。这在句法上可能不完全正确。
答案 1 :(得分:-1)
new DirectoryInfo(strPath).EnumerateFiles("*.db").Count();