现在要实现将某一目录下全部图片格式的文件过滤出来,有*.tif,*.jpg,*.bmp等,GetFiles(“*.tif || *.jpg”)这样写又不对,本人在网上查用where,但是还是不行,麻烦高手帮看一下吧
解决方案
10
string CommonImgPath = ""; List<string> extensions = new List<string>() { ".tif", ".jpg", ".bmp" }; var files = Directory.GetFiles(CommonImgPath); foreach (var file in files) { string ext = Path.GetExtension(file); if (extensions.Contains(ext)) Console.WriteLine(file); }
4
string directory = @"E:\pic"; string[] files = Directory.GetFiles(directory).Where(x => x.EndsWith(".tif") || x.EndsWith(".jpg" title="C# DirectoryInfo.GetFiles().Where()用法")).ToArray();
6
.Where(s => s.EndsWith(“.tif”) || s.EndsWith(“.jpg”));
应写作
.Where(s => s.Extension == “.tif” || s.Extension == “.jpg”);
应写作
.Where(s => s.Extension == “.tif” || s.Extension == “.jpg”);
3
这个正解!Extension 是扩展名 文件操作类有个方法GETExtensions 获取扩展名
3
经验证,这种方法可行
4
不需要
10
好说,加个ToLower
string CommonImgPath = ""; List<string> extensions = new List<string>() { ".tif", ".jpg", ".bmp" }; var files = Directory.GetFiles(CommonImgPath); foreach (var file in files) { string ext = Path.GetExtension(file); if (extensions.Contains(ext.ToLower())) Console.WriteLine(file); }