.NET等效于StrCmpLogicalW

什么是StrCmpLogicalW的托管等价物?


Nieve字符串排序规则会将列表排序为:

  • 窗口1
  • 窗口10
  • 窗口12
  • 窗口2
  • 窗口27
  • 窗口3
  • 窗口4
  • 窗口5

Windows XP开始,Microsoft引入了StrCmpLogicalW – 以人们期望的方式对字符串进行排序:

  • 窗口1
  • 窗口2
  • 窗口3
  • 窗口4
  • 窗口5
  • 窗口10
  • 窗口12
  • 窗口27

Nitpicker的角落: 有些人发现这种秩序令人困惑。 他们不是这次谈话的一部分。

Windows 7开始,Microsoft将StrCmpLogicalW的function带入了CompareString并带有新的SORT_DIGITSASNUMBERS标志:

Windows 7:在排序期间将数字视为数字,例如,在“10”之前排序“2”。

如果不采用P / Invoke(显然),.NET框架相当于自然地排序字符串了吗?

http://www.interact-sw.co.uk/iangblog/2007/12/13/natural-sorting似乎是你正在寻找的。

(并且没有,没有托管等效于.NET内置的StrCmpLogicalW)