假设我想检查文件系统上是否存在某个文件,我想检查该文件是否存在某些文件扩展名(这些是图像文件扩展名)。
此文件将始终具有字符串前缀thumb-
,后跟动态id值类型为int。
我有
string[] fileExtensions = new string[] { ".jpg", ".png", ".bmp", "gif" };
我正在考虑使用DirectoryInfo,但我正在努力使用包含部分
var f = from f in di.EnumerateFiles(string.Format("{0}{1}.*", "thumb-", id))
where f.Extension.Contains(fileExtensions)
select f;
显然f.Extension.Contains(fileExtensions)是错误的地方。
如何解决这个问题?
答案 0 :(得分:2)
找到了更好的解决方案:
var files = di.EnumerateFiles(string.Format("{0}{1}.*", "thumb-", id))
.Where(x => fileExtensions.Contains(x.Extension));
答案 1 :(得分:1)
var files=di.GetFiles(string.Format("{0}{1}.*", "thumb-", id))
.Where(x=>fileExtensions.Any(y=>y==x.Extension));