首頁 > 後端開發 > C++ > 如何使用Directory.getFiles()或EnumerateFiles()檢索多個文件類型?

如何使用Directory.getFiles()或EnumerateFiles()檢索多個文件類型?

DDD
發布: 2025-01-26 19:21:10
原創
680 人瀏覽過

How Can I Retrieve Multiple File Types Using Directory.GetFiles() or EnumerateFiles()?

高效率擷取多種類型檔案

Directory.GetFiles() 方法雖然看似簡單,但並不直接支援多種文件類型過濾器。 然而,有幾種有效的策略可以克服這個限制。

對於 .NET 4.0 及更高版本,EnumerateFiles() 方法使用 LINQ 的 Where() 子句提供了更好的解決方案:

var files = Directory.EnumerateFiles("C:\path", "*.*", SearchOption.AllDirectories)
            .Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));
登入後複製

這可以根據指定的副檔名優雅地過濾枚舉檔案。

對於較舊的 .NET 版本,可以使用類似的方法:

var files = Directory.GetFiles("C:\path", "*.*", SearchOption.AllDirectories)
            .Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));
登入後複製

但是,重要的是要記住 GetFiles() 傳回記憶體中的完整陣列。 這可能會導致效能問題和高記憶體消耗,尤其是在處理大量目錄時。 因此,強烈建議使用 EnumerateFiles() 以獲得最佳效率。

以上是如何使用Directory.getFiles()或EnumerateFiles()檢索多個文件類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板