我正在尝试使用以下语句检索jpeg
和jpg
个文件:
string[] files = Directory.GetFiles(someDirectoryPath, "*.jp?g");
MSDN的docs for System.IO.Directory.GetFiles(string, string)表示?
表示“完全为零或一个字符。”但上述块选择jpeg
个文件但省略了jpg
个文件。
我目前正在使用过度宽松的搜索模式"*.jp*g"
来实现我的结果,但它因为它起作用而使我的大脑皱纹。
答案 0 :(得分:4)
来自您关联的文档:
文件扩展名为一,二或三个以上字符的searchPattern仅返回扩展名与searchPattern中指定的文件扩展名完全匹配的文件。
我怀疑这是问题所在。说实话,我可能会获取所有文件,然后在代码中对它们进行后处理 - 这将使代码更容易推理,而不是依赖于Windows路径处理的怪异。
答案 1 :(得分:0)
您可以使用"*"
作为模式并自行处理结果或使用
string[] files = Directory.GetFiles(someDirectoryPath, "*.jpg").Union (Directory.GetFiles(someDirectoryPath, "*.jpeg")).ToArray();
根据the Docs,您使用的模式只返回扩展名为4个字符的文件。