C# dirInfoObj.GetFiles(";*.jpg,*.png";)不返回任何文件

C# dirInfoObj.GetFiles(";*.jpg,*.png";)不返回任何文件,c#,file-io,directoryinfo,C#,File Io,Directoryinfo,如果我只是 dirInfoObj.GetFiles("*.jpg") ,它将返回我在那里的2个jpg。但如果我尝试同时获得jpg和png,比如 dirInfoObj.GetFiles("*.jpg,*.png") ,它不会返回任何内容 我做错什么了吗?谢谢 GetFiles的文档中没有任何内容表明它支持字符的使用,就像您所说的那样。如果您正在使用LINQ,您可以执行以下操作: var files = dirInfoObj.GetFiles("*.jpg").Concat(dirInfoObj

如果我只是

dirInfoObj.GetFiles("*.jpg")
,它将返回我在那里的2个jpg。但如果我尝试同时获得jpg和png,比如

dirInfoObj.GetFiles("*.jpg,*.png")
,它不会返回任何内容


我做错什么了吗?谢谢

GetFiles的文档中没有任何内容表明它支持字符的使用,就像您所说的那样。如果您正在使用LINQ,您可以执行以下操作:

var files = dirInfoObj.GetFiles("*.jpg").Concat(dirInfoObj.GetFiles("*.png"));

如果需要
文件
作为数组,只需在末尾抛出一个
.ToArray()

GetFiles上的MSDN条目

说明如何使用它


它不支持对多个扩展名使用逗号运算符。

它在“备注”部分中说明了如何使用逗号运算符。它给出了可以使用哪些通配符的示例,以及通配符是如何工作的。我最后做了一个贫民区的“var availExtensions=“.jpg,.gif”,然后在GetFiles中对每个文件执行foreach操作,比较扩展名w/每个扩展名,并处理是否存在匹配项。哦,好吧。谢谢无论如何,这可能是一种更有效的方法,特别是对于任意大的扩展集。