' FB 1.05.0 Win64 Type Pair As String name, value Declare Constructor(name_ As String, value_ As String) Declare Operator Cast() As String End Type Constructor Pair(name_ As String, value_ As String) name = name_ value = value_ End Constructor Operator Pair.Cast() As String Return "[" + name + ", " + value + "]" End Operator ' selection sort, quick enough for sorting small number of pairs Sub sortPairsByName(p() As Pair) Dim As Integer i, j, m For i = LBound(p) To UBound(p) - 1 m = i For j = i + 1 To UBound(p) If p(j).name < p(m).name Then m = j Next j If m <> i Then Swap p(i), p(m) Next i End Sub Dim As Pair pairs(1 To 4) = _ { _ Pair("grass", "green"), _ Pair("snow", "white" ), _ Pair("sky", "blue"), _ Pair("cherry", "red") _ } Print "Before sorting :" For i As Integer = 1 To 4 Print Tab(3); pairs(i) Next sortPairsByName pairs() Print Print "After sorting by name :" For i As Integer = 1 To 4 Print Tab(3); pairs(i) Next Print Print "Press any key to quit" Sleep