我有一个字符串数组,例如“blue”、“green”、“red”,我希望对它们进行排序,以便最长的字符串排在第一位,最短的排在最后。
目前,我正在创建另一个数组,其中数组中每个字符串的长度位于相同的索引位置,并使用该数组作为键数组进行排序,如下所示,但我认为这可能优化为一行?
Dim colours() As string = {"blue", "green", "red"}
Dim colourslength() As Integer
For i As Integer = 0 To colours.Length - 1
colourslength(i) = colours(i).Length
Next
Array.Sort(colourslength, colours)
Array.Reverse(colours)
编辑:刚刚意识到我在示例代码中将颜色定义为一个列表,它是我实际代码中的一个数组。