<:> 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:
[SuppressUnmanagedCodeSecurity] internal static class SafeNativeMethods { [DllImport("shlwapi.dll", CharSet = CharSet.Unicode)] public static extern int StrCmpLogicalW(string psz1, string psz2); }
Akhirnya, buat kelas NaturfileInfonameComparer, menggunakan susunan pesanan semulajadi untuk membandingkan objek FileInfo:
public sealed class NaturalStringComparer : IComparer<string> { public int Compare(string a, string b) { return SafeNativeMethods.StrCmpLogicalW(a, b); } }
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!