1

假设我想检查文件系统上是否存在某些文件,并且我想检查该文件是否存在具有特定文件扩展名(那些是图像文件扩展名)。

该文件将始终具有字符串前缀thumb-,后跟 int 类型的动态 id 值。

我有

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) 是错误所在的位置。

如何解决这个问题?

4

2 回答 2

2

找到了更好的解决方案:

var files = di.EnumerateFiles(string.Format("{0}{1}.*", "thumb-", id))
            .Where(x => fileExtensions.Contains(x.Extension));
于 2013-10-05T07:54:08.147 回答
1
var files=di.GetFiles(string.Format("{0}{1}.*", "thumb-", id))
            .Where(x=>fileExtensions.Any(y=>y==x.Extension));
于 2013-10-05T07:58:12.360 回答