从磁盘中选择具有特定扩展名的文件

时间:2013-10-05 07:42:36

标签: c# .net

假设我想检查文件系统上是否存在某个文件,我想检查该文件是否存在某些文件扩展名(这些是图像文件扩展名)。

此文件将始终具有字符串前缀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)是错误的地方。

如何解决这个问题?

2 个答案:

答案 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));