【问题标题】:dirInfoObj.GetFiles("*.jpg,*.png") does not return any filesdirInfoObj.GetFiles("*.jpg,*.png") 不返回任何文件
【发布时间】:2010-11-09 20:38:31
【问题描述】:

如果我只是这样做

dirInfoObj.GetFiles("*.jpg")

,它将返回我在那里的 2 jpg。但是,如果我尝试同时获取 jpg 和 png,例如

dirInfoObj.GetFiles("*.jpg,*.png")

,它不会返回任何东西。

我做错了吗?谢谢!

【问题讨论】:

    标签: c# file-io directoryinfo


    【解决方案1】:

    GetFiles 的文档中没有任何内容表明它支持使用 , 字符,就像你的意思一样。如果您使用的是 LINQ,则可以执行以下操作:

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

    如果您需要 files 成为一个数组,只需在末尾抛出一个 .ToArray()

    【讨论】:

    • 我最终做了一个 ghetto "varavailExtensions = ".jpg,.gif"" 然后在 GetFiles 中 foreach 文件,比较每个文件的 .Extension,并处理是否匹配。那好吧。谢谢!
    • 无论如何,这可能是一种更有效的方法,尤其是对于任意大的扩展集。
    【解决方案2】:

    GetFiles 上的 MSDN 条目

    http://msdn.microsoft.com/en-us/library/8he88b63.aspx

    说明如何使用。

    它不支持多个扩展名的逗号运算符。

    【讨论】:

    • 它确实在“备注”部分说明了如何使用它。它举例说明了可以使用哪些通配符,以及它们是如何工作的。
    猜你喜欢
    • 2014-03-24
    • 1970-01-01
    • 2017-10-13
    • 2017-06-16
    • 1970-01-01
    • 2021-02-17
    • 1970-01-01
    • 2021-12-04
    • 2013-05-02
    相关资源
    最近更新 更多