我正在尝试使用以下语句检索jpeg和jpg文件:
string[] files = Directory.GetFiles(someDirectoryPath, "*.jp?g");MSDN的docs for System.IO.Directory.GetFiles(string, string)声明?表示“恰好是零个或一个字符。”,但是上面的代码块选择了jpeg文件,但忽略了jpg文件。
我目前正在使用过于宽松的搜索模式"*.jp*g"来实现我的搜索结果,但它会让我的大脑起皱,因为它应该是有效的。
发布于 2011-10-30 22:06:38
从您链接的文档中:
文件扩展名为一个、两个或三个以上字符的searchPattern仅返回扩展名长度与searchPattern中指定的文件扩展名完全匹配的文件。
我怀疑这就是问题所在。老实说,我可能会获取所有的文件,然后在代码中对它们进行后处理-这将使代码更容易推理,而不是依赖于Windows路径处理的怪异之处。
发布于 2011-10-30 22:08:26
您可以使用"*"作为模式并自己处理结果,也可以使用
string[] files = Directory.GetFiles(someDirectoryPath, "*.jpg").Union (Directory.GetFiles(someDirectoryPath, "*.jpeg")).ToArray();根据the Docs的说法,您使用的模式将只返回扩展名为4个字符的文件。
MSDN reference on Union
https://stackoverflow.com/questions/7945350
复制相似问题