Maison >développement back-end >C++ >Comment implémenter l'ordre de tri naturel pour les tableaux de fichiers en C #?
Le tri naturel du tableau FileInfo en C # réalisé
Question:
Comment utiliser l'interface ICOMParer en C # pour implémenter le type naturel de l'objet FileInfo?
Solution:
Afin d'atteindre le tri naturel, nous pouvons utiliser la fonction intégrée StrcmplogicalW dans l'API Windows.
implémenter:
Tout d'abord, créez une classe interne SafenatingMethods pour supprimer l'avertissement de sécurité du code non host:
Ensuite, définissez une classe NaturStringComparer pour implémenter l'interface 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>
Enfin, créez une classe NaturFileInfonameComparer, en utilisant l'ordre d'ordre naturel pour comparer l'objet FileInfo:
<code class="language-csharp">public sealed class NaturalStringComparer : IComparer<string> { public int Compare(string a, string b) { return SafeNativeMethods.StrCmpLogicalW(a, b); } }</code>Cette méthode est intégrée à la version Windows de son fonctionnement, offrant une expérience de tri familière pour votre application C #.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!