Directory.GetFiles的一些扩展名

编程入门 行业动态 更新时间:2024-10-25 18:30:23
本文介绍了Directory.GetFiles的一些扩展名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

Directory.GetFiles

有没有办法简化这个linq表达式? (dir,*。*,SearchOption.AllDirectories) .Where(s => s.EndsWith(。jpg,StringComparison.OrdinalIgnoreCase)|| s.EndsWith(。gif ,StringComparison.OrdinalIgnoreCase)|| s.EndsWith(。png,StringComparison.OrdinalIgnoreCase)|| ...);

基本上我想返回一个特定扩展名的所有文件。不幸的是,这种方法不是很灵活。我希望能够添加一个列表的扩展名,并让Directory.GetFiles返回这些扩展名。这是可能的吗?

解决方案

如果你想在LINQ中进行过滤,可以这样做:

var ext = new List< string> {jpg,gif,png}; var myFiles = Directory.GetFiles(dir,*。*,SearchOption.AllDirectories) .Where(s => ext.Contains(Path.GetExtension(s)))

现在 ext 包含允许的扩展列表;您可以根据需要添加或删除项目以进行灵活过滤。

Is there a way to simplify this linq expression, or is there a better way of doing this?

Directory.GetFiles(dir, "*.*", SearchOption.AllDirectories) .Where(s => s.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase) || s.EndsWith(".gif", StringComparison.OrdinalIgnoreCase) || s.EndsWith(".png", StringComparison.OrdinalIgnoreCase) || ...);

Basically I want to return all files of a certain extension. Unfortunately, this method isn't very flexible. I'd rather be able to add extensions to a list and have Directory.GetFiles return those extensions. Is that possible?

解决方案

If you would like to do your filtering in LINQ, you can do it like this:

var ext = new List<string> {"jpg", "gif", "png"}; var myFiles = Directory.GetFiles(dir, "*.*", SearchOption.AllDirectories) .Where(s => ext.Contains(Path.GetExtension(s)));

Now ext contains a list of allowed extensions; you can add or remove items as necessary for flexible filtering.

更多推荐

Directory.GetFiles的一些扩展名

本文发布于:2023-11-02 17:52:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1553027.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:扩展名   Directory   GetFiles

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!