我只需要知道是否有任何内置功能来实现Dot Net中的排序功能[Alpha-Numeric]。如果有,请告诉我。
这就是我需要的东西
输入:
DATA0
数据1
DATA10
data19
数据2
data22
DATA3
data31
输出:
DATA0
数据1
数据2
DATA3
DATA10
data19
data22
data31
答案 0 :(得分:0)
没有内置功能可以满足您的需求。如果“data”总是与示例中的长度相同。您可以比较字符串的长度,然后比较字符串本身。
Private Function Comparer(ByVal x As String, ByVal y As String) As Integer
If x.Length = y.Length Then
Return String.Compare(x, y)
End If
Return x.Length.CompareTo(y.Length)
End Function
Sub Main()
Dim v As New List(Of String)
v.Add("data0")
v.Add("data1")
v.Add("data10")
v.Add("data19")
v.Add("data2")
v.Add("data22")
v.Add("data3")
v.Add("data31")
v.Sort(AddressOf Comparer)
For Each s As String In v
Console.WriteLine(s)
Next
Console.ReadLine()
End Sub