我有一个字符串数组,例如"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)
编辑:刚意识到在示例代码中我将颜色定义为列表,但在我的实际代码中是一个数组。