今天正好碰到一个问题:对类似于word中的序号进行排序?对于数组默认的排序方式经过查找资料发现是按第一个字符的ASCII码进行排序的,不满足我的需求。所以自己写了个方法。可能代码还有待优化,欢迎大家讨论改进!
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim tt As ArrayList = New ArrayList({"1","1.1","1.2","2.1","2","12","2.2","12.2","12.1","1.1.1"})
'test(tt)
For Each item As String In test(tt)
Debug.WriteLine(item)
Next
End Sub
Private Function test(ByRef oArraylist As ArrayList) As ArrayList
Dim arraylist1 As ArrayList = New ArrayList()
Dim arraylist2 As ArrayList = New ArrayList()
If oArraylist IsNot Nothing Then
For Each item As Object In oArraylist
If item.Contains(".") = False Then
arraylist1.Add(item)
'oArraylist.RemoveAt(oArraylist.IndexOf(item))
For Each item1 As Object In oArraylist
If item1.Contains(".") Then
If item1.Split(".")(0) = item Then
arraylist1.Add(item1)
'oArraylist.RemoveAt(oArraylist.IndexOf(item1))
End If
End If
Next
arraylist1.Sort()
arraylist2.AddRange(arraylist1)
arraylist1.Clear()
End If
Next
End If
Return arraylist2
End Function