public sealed class NaturalStringComparer : IComparer<string>
{
public static readonly NaturalStringComparer Default = new NaturalStringComparer();
public int Compare(string x, string y)
{
return SafeNativeMethods.StrCmpLogicalW(x, y);
}
}
[SuppressUnmanagedCodeSecurity]
internal static class SafeNativeMethods
{
[DllImport("shlwapi.dll", CharSet = CharSet.Unicode, ExactSpelling = true)]
public static extern int StrCmpLogicalW(string psz1, string psz2);
}
以下是调用的方法
var listDate=new List<string>(){"a1",“a3”,"a2"}
var list= listDate.OrderBy(p => p, new NaturalStringComparer());
C# 集合字段包含字符串与数字混合排序
最新推荐文章于 2024-05-17 11:15:25 发布