Rumah >pembangunan bahagian belakang >C++ >Bagaimana saya boleh melaksanakan pesanan semulajadi untuk nama fail di C#?
c# Menyedari penyortiran semula jadi
Apabila menyusun nama fail dalam C#, biasanya perlu menggunakan algoritma penyortiran semula jadi dan bukannya penyortiran kamus lalai. Ini dapat memastikan nombor itu disusun dalam berangka, dan bilangan huruf disusun mengikut urutan yang sesuai.
Satu cara untuk mencapai penyortiran semula jadi ialah menggunakan fungsi Windows yang terbina dalam
. Fungsi ini membolehkan untuk membandingkan urutan logik rentetan (termasuk bilangan nombor sebagai nilai) dan rentetan yang disusun.
StrCmpLogicalW
StrCmpLogicalW
anda boleh menggunakan untuk mengakses fungsi :
DllImport
Gunakan pelaksanaan Icomparer StrCmpLogicalW
<code class="language-csharp">[DllImport("shlwapi.dll", CharSet = CharSet.Unicode)] private static extern int StrCmpLogicalW(string psz1, string psz2);</code>
Penggunaan contoh
Untuk menggunakan komparator tersuai ini, anda boleh menyusun array seperti berikut: FileInfo
IComparer
<code class="language-csharp">public sealed class NaturalFileInfoNameComparer : IComparer<FileInfo> { public int Compare(FileInfo x, FileInfo y) { return StrCmpLogicalW(x.Name, y.Name); } }</code>mengikut urutan semula jadi nama fail (pada masa yang sama memandangkan urutan nombor dan huruf huruf).
Atas ialah kandungan terperinci Bagaimana saya boleh melaksanakan pesanan semulajadi untuk nama fail di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!