我想在某些文件夹中展示有多少个具有特定扩展名(JPG,JPEG,PNG,PSD等(的文件。但也必须使用特定的关键字,例如" 10*"或" 1a*"。首先,我只用扩展名进行一些代码,然后在某些文件夹中获取文件计数。但是我尝试制作第二个代码,以获取具有特定名称和特定扩展名但困难的文件计数。
我尝试在getfiles之后添加"位置",但仍然无法添加错误。
这是第一个代码:
DirectoryInfo folder = new DirectoryInfo(@"" + folderpath );
string extension = "jpg";
int count = folder.GetFiles("*." + extension, SearchOption.TopDirectoryOnly).Length;
以及以关键字和扩展名的第二个代码:
DirectoryInfo folder = new DirectoryInfo(@"" + folderpath );
string extension = "jpg";
string keyword = "1A";
int count = folder.GetFiles( keyword + "*", SearchOption.TopDirectoryOnly).Where(s => s.EndsWith("." + format )).Count;
结果仍然错误。我需要更改什么才能使代码使用关键字和扩展名正确工作?
您只需使用linq:
来完成所有操作string[] prefixes = new[] { "10", "1A" };
string[] suffixes = new[] { "jpg", "jpeg", "png", "psd" };
int count = folder.GetFiles().Count(f => prefixes.Any(p => f.Name.StartsWith(p)) && suffixes.Any(s => f.Extension == s));