2012-01-09 12 views
17

¿Cuál es el equivalente administrado de StrCmpLogicalW?.NET equivalente de StrCmpLogicalW


cadena Nieve reglas de clasificación sería ordenar una lista como:

  • Ventana 1
  • ventana 10
  • ventana 12
  • ventana 2
  • ventana 27
  • ventana 3
  • Ventana 4
  • Ventana 5

A partir de Windows XP, Microsoft introdujo StrCmpLogicalW - para ordenar cadenas en una forma que la gente espera:

  • Ventana 1
  • Ventana 2
  • Ventana 3
  • Ventana 4
  • Ventana 5
  • Ventana 10
  • Ventana 12
  • Ventana 27

esquina de nitpicker:Some people find this sort order confusing. No son parte de esta conversación.

A partir de Windows 7, Microsoft interpuso la funcionalidad de StrCmpLogicalW en CompareString con el nuevo SORT_DIGITSASNUMBERS bandera:

Windows 7: dígitos tratan como números durante la clasificación, por ejemplo, más o menos " 2 "antes de" 10 ".

Sin recurrir a P/Invoke (obviamente), ¿cuál es el equivalente de .NET framework de ordenar cadenas de forma natural?

+2

No creo que hay una manera .NET nativo. – Oded

+0

No hay un framework .net equivalente a StrCmpLogicalW. Ya sea [escribe el tuyo] (http://www.codeproject.com/KB/dotnet/SortingStringsForHumans.aspx?msg=2360693) o pinvoke. –

+0

+1 buen punto ... – Tigran

Respuesta