如何在同一个调用中执行System.IO.Directory.GetFiles("*.tif")
和System.IO.Directory.GetFiles("*.jpg")
?System.io.Directory.GetFiles多于一个文件类型
1
A
回答
3
最有效的方法,我相信(扫描目录只有一次,并产生而不需要先建立起来的整个列表)的结果是这样的:
var extensions = new[] {".jpg", ".tif"};
var files = from f in Directory.EnumerateFiles(folderPath)
where extensions.Contains(Path.GetExtension(f))
select f;
当然,如果你需要循环的结果比一旦它可能是最好的结果存储在一个列表反正更多。
0
试试这个:
var sourceFolder = "C:\\";
var filters = "*.tif|*.jpg";
var files = filters.Split('|').SelectMany(filter => System.IO.Directory.GetFiles(sourceFolder, filter)).ToArray();
其中sourceFolder是通向要从中选择文件的文件夹。
2
如果你想自己筛选和要做足OS再次遍历目录节点,那么你可以做
string[] extensionFilters = new string[] { ".jpg", ".tif" };
string[] filtered = Directory.GetFiles("C:\\", "*.*")
.Where(filename => extensionFilters.Any(x =>
filename.EndsWith(x, StringComparison.OrdinalIgnoreCase)))
.ToArray();
相关问题
- 1. Intellij多个文件类型
- 2. 传递多个扩展到System.IO.Directory.GetFiles方法
- 3. 创建从一个文本文件与多个数据类型
- 4. 排除System.IO.Directory.GetFiles()中的文件扩展名
- 5. 猪:用于编写记录类型在一个文件到多个输出
- 6. 拼接最后一列从一种类型的多个文件
- 7. 筛选多个文件类型
- 8. 多个DBML文件 - 类型共享?
- 9. 如何从输入类型=“文件”中删除一个,两个文件多个?
- 10. FindFirstFile多种文件类型
- 11. 在输入类型中选择多个文件时只上传一个文件
- 12. 使用System.IO.directory.getfiles
- 13. 多用于泛型类型
- 14. “对于我在文件名中”创建一个类型错误
- 15. 对于同一个表,多个HBM文件具有多个类别
- 16. 如何使用System.IO.Directory.GetFiles递归枚举文件+文件夹
- 17. 创建一个新的文件类型
- 18. 如何使组件属于一个类型的一个实例
- 19. PHP上传 - 多个文件和限制文件类型
- 20. 复制不同文件类型的多个文件UNIX
- 21. 如何在一个.dat文件中存档许多类型的文件
- 22. 使用awk命令一次更改多个文件的文件类型
- 23. 文件上传asp.net中的多个文件(类似于gmail)
- 24. Visual Studio - 管理多个文件,属于一个类的一部分,模块
- 25. .rb文件包含多个类与多个.rb文件,每个类中有一个类
- 26. webpack:具有多个文件类型输出的多输入
- 27. TinyMCE:用于将多个类应用于文本块的插件
- 28. jQuery抓取一个文件上传与输入类型='文件'
- 29. 将文件名和文件类型放在一个数组中
- 30. 一个文件中有两种不同的文件类型?
一个更优雅和可读的解决方案!我最喜欢它。 :d – 2011-05-05 22:27:15