Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menggunakan Directory.GetFiles() dengan Cekap untuk Mendapatkan Berbilang Jenis Fail?
dengan cekap mengambil pelbagai jenis fail menggunakan direktori.getfiles ()
perlu mengambil fail pelbagai jenis dari direktori dengan cekap? adalah alat yang berguna, tetapi ia mempunyai batasan apabila berurusan dengan pelbagai sambungan fail. Semasa menggunakan "|" atau ";" Sebagai pembatas dalam corak carian tidak berfungsi, terdapat penyelesaian yang berkesan. Directory.GetFiles()
penyelesaian untuk .net 4.0 dan ke atas
untuk prestasi optimum dalam versi .net yang lebih baru, leverage digabungkan dengan linq: Directory.EnumerateFiles()
<code class="language-csharp">var files = Directory.EnumerateFiles("C:\path", "*.*", SearchOption.AllDirectories) .Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));</code>Pendekatan ini mula -mula mengambil semua fail secara beransur -ansur (meningkatkan prestasi berbanding dengan memuatkan segala -galanya sekaligus) dan kemudian menapis hasil menggunakan ekspresi lambda untuk menyimpan hanya
dan .mp3
fail. .jpg
penyelesaian untuk versi yang lebih tua. NET
Jika anda bekerja dengan versi yang lebih tua. NET, anda boleh menyesuaikan penyelesaian menggunakan: Directory.GetFiles()
<code class="language-csharp">var files = Directory.GetFiles("C:\path", "*.*", SearchOption.AllDirectories) .Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));</code>Ini memuat semua fail pada mulanya, kemudian menggunakan penapis LINQ yang sama.
Nota penting
Directory.EnumerateFiles()
atau rakan sejawatannya yang lebih efisien, Directory.GetFiles()
, bergantung pada versi Rangka .NET anda. Directory.EnumerateFiles()
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Directory.GetFiles() dengan Cekap untuk Mendapatkan Berbilang Jenis Fail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!