1234567891011121314151617181920212223242526272829303132333435 |
- using System.Collections;
- using System.Runtime.InteropServices;
- namespace AIPlatform.Protocol.Utilities
- {
- /// <summary>
- /// 允许自定义排序规则
- /// </summary>
- public class FileSort : IComparer
- {
- //调用Shlwapi.DLL
- [DllImport("Shlwapi.dll", CharSet = CharSet.Unicode)]
- //该方法可以按照Windows的排序规则对文件进行排序
- private static extern int StrCmpLogicalW(string param1, string param2);
- //前后文件名进行比较
- public int Compare(object name1, object name2)
- {
- if (name1 == null && name2 == null)
- {
- return 0;
- }
- if (name1 == null)
- {
- return -1;
- }
- if (name2 == null)
- {
- return 1;
- }
- return StrCmpLogicalW(name1.ToString(), name2.ToString());
- }
- }
- }
|