挑戰:
>使用Directory.GetFiles()
檢索各種類型的文件,提出了一個常見的程式設計障礙。 此方法本身不直接支援多個文件類型過濾器。
>無效的方法:
這樣的嘗試無法產生預期的結果:
<code class="language-csharp">Directory.GetFiles("C:\path", "*.mp3|*.jpg", SearchOption.AllDirectories); Directory.GetFiles("C:\path", "*.mp3;*.jpg", SearchOption.AllDirectories);</code>.net 4.0及以後的
用於較舊的.NET版本:
<code class="language-csharp">var files = Directory.EnumerateFiles("C:\path", "*.*", SearchOption.AllDirectories) .Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));</code>
對效能和記憶體進行最佳化:
>處理大量文件時,效能和記憶體使用量變得至關重要。 如Christian.K所指出的那樣,<code class="language-csharp">var files = Directory.GetFiles("C:\path", "*.*", SearchOption.AllDirectories) .Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));</code>的方法可能是記憶密集的。 Paul Farry強烈建議使用
的建議,以便更好地進行記憶體管理:
以上是Directory.getFiles()可以處理多個文件類型過濾器嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!