try this:
vb Code:
Public Class Form1
Dim versionStrings() As String = {"4.5.0.55", "4.2.2.128", "4.5.0.37", "5.0.0.713", "4.5.0.128"}
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'sort ascending
Array.Sort(versionStrings, New comparer)
MsgBox(versionStrings(versionStrings.GetUpperBound(0)))
End Sub
End Class
Public Class comparer
Implements IComparer
Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare
Dim xParts() As Integer = Array.ConvertAll(x.ToString.Split("."c), Function(s) CInt(s))
Dim yParts() As Integer = Array.ConvertAll(y.ToString.Split("."c), Function(s) CInt(s))
If xParts(0) = yParts(0) Then
If xParts(1) = yParts(1) Then
If xParts(2) = yParts(2) Then
Return xParts(3).CompareTo(yParts(3))
Else
Return xParts(2).CompareTo(yParts(2))
End If
Else
Return xParts(1).CompareTo(yParts(1))
End If
Else
Return xParts(0).CompareTo(yParts(0))
End If
End Function
End Class