Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk melaksanakan perintah semulajadi untuk tatasusunan fileInfo di C#?
penyortiran semula jadi array fileInfo dalam c#direalisasikan
<:> Soalan:
Bagaimana menggunakan antara muka IComparer di C#untuk melaksanakan jenis semulajadi objek FileInfo?
Penyelesaian:
Untuk mencapai penyortiran semulajadi, kita boleh menggunakan fungsi strcmplogicalw fungsi terbina dalam API Windows.
pelaksanaan:
Pertama sekali, buat kelas safenatingmethods kelas dalaman untuk menindas amaran keselamatan kod bukan rumah:
Seterusnya, tentukan kelas NaturstringComparer untuk melaksanakan antara muka IComparer:
<code class="language-csharp">[SuppressUnmanagedCodeSecurity] internal static class SafeNativeMethods { [DllImport("shlwapi.dll", CharSet = CharSet.Unicode)] public static extern int StrCmpLogicalW(string psz1, string psz2); }</code>
Akhirnya, buat kelas NaturfileInfonameComparer, menggunakan susunan pesanan semulajadi untuk membandingkan objek FileInfo:
<code class="language-csharp">public sealed class NaturalStringComparer : IComparer<string> { public int Compare(string a, string b) { return SafeNativeMethods.StrCmpLogicalW(a, b); } }</code>Kaedah ini disepadukan dengan versi Windows yang berjalan, memberikan pengalaman menyusun yang biasa untuk aplikasi C#anda.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan perintah semulajadi untuk tatasusunan fileInfo di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!