使用Directory.getFiles()
需要有效地從目錄中檢索不同類型的文件嗎? Directory.GetFiles()
是一個方便的工具,但是在處理多個文件擴展程序時,它具有限制。 使用“ |”時或者 ”;”由於搜索模式中的分界符不起作用,因此有有效的解決方法。
解決方案 >為了在新的.NET版本中提供最佳性能,Leverage
與Linq結合:
Directory.EnumerateFiles()
<code class="language-csharp">var files = Directory.EnumerateFiles("C:\path", "*.*", SearchOption.AllDirectories) .Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));</code>>和
> files。
.mp3
.jpg
>較舊的.net版本的解決方案
如果您正在使用較舊的.NET版本,則可以使用>:
>調整解決方案
Directory.GetFiles()
這最初加載所有文件,然後應用相同的linq濾波器。
<code class="language-csharp">var files = Directory.GetFiles("C:\path", "*.*", SearchOption.AllDirectories) .Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));</code>重要說明
與高度優化的自定義解決方案相比, > 雖然方便,但可能會在極大的目錄中引入輕微的性能開銷。 對於關鍵績效應用,手動迭代可能是可取的。
>Directory.EnumerateFiles()
或更有效的對應物檢索多種文件類型提供了一個清晰有效的解決方案。 以上是如何有效地使用Directory.getFiles()檢索多種文件類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!