How to sort by strings a mixed pair of string and number elements in a list with VB.NET

1 Answer

0 votes
Imports System
Imports System.Collections.Generic

Module Module1

    Function ExtractName(s As String) As String
        Dim pos = s.LastIndexOf(" "c)
		
        Return s.Substring(0, pos)
    End Function

    Sub Main()
		Dim lst As New List(Of String) From {
            "Python 4", "C 9", "C++ 5", "C# 6",
            "Java 1", "PHP 7", "Go 2"
        }

		lst.Sort(Function(a, b)
                     Dim nameA = ExtractName(a)
                     Dim nameB = ExtractName(b)
                     Return String.Compare(nameA, nameB, StringComparison.Ordinal)
                 End Function)

		For Each item In lst
            Console.WriteLine(item)
        Next
    End Sub

End Module



' run:
'
' C 9
' C# 6
' C++ 5
' Go 2
' Java 1
' PHP 7
' Python 4
'

 



answered Jan 22 by avibootz

Related questions

...