首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >System.IO.Directory搜索模式未按预期工作

System.IO.Directory搜索模式未按预期工作
EN

Stack Overflow用户
提问于 2011-10-30 22:03:29
回答 2查看 662关注 0票数 2

我正在尝试使用以下语句检索jpegjpg文件:

代码语言:javascript
复制
string[] files = Directory.GetFiles(someDirectoryPath, "*.jp?g");

MSDN的docs for System.IO.Directory.GetFiles(string, string)声明?表示“恰好是零个或一个字符。”,但是上面的代码块选择了jpeg文件,但忽略了jpg文件。

我目前正在使用过于宽松的搜索模式"*.jp*g"来实现我的搜索结果,但它会让我的大脑起皱,因为它应该是有效的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-30 22:06:38

从您链接的文档中:

文件扩展名为一个、两个或三个以上字符的searchPattern仅返回扩展名长度与searchPattern中指定的文件扩展名完全匹配的文件。

我怀疑这就是问题所在。老实说,我可能会获取所有的文件,然后在代码中对它们进行后处理-这将使代码更容易推理,而不是依赖于Windows路径处理的怪异之处。

票数 4
EN

Stack Overflow用户

发布于 2011-10-30 22:08:26

您可以使用"*"作为模式并自己处理结果,也可以使用

代码语言:javascript
复制
string[] files = Directory.GetFiles(someDirectoryPath, "*.jpg").Union (Directory.GetFiles(someDirectoryPath, "*.jpeg")).ToArray();

根据the Docs的说法,您使用的模式将只返回扩展名为4个字符的文件。

MSDN reference on Union

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7945350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档