0
我有一個List(of String())
。我寫了一個自定義比較器(implements IComparer(of string)
)來執行字母數字排序。排序列表(字符串())使用變量索引到字符串()作爲鍵 - vb.net
有沒有辦法使用給定的索引來排序列表,以確定String()
中的哪個位置進行排序?換句話說,有一次我可能按Index = 0
排序,另一次按Index = 3
排序。列表中所有的String()
的長度是相同的。
作爲參考此問題類似於Sort List<String[]>除了我使用VB.net和該問題是硬連線到Index=0
。從OP的評論
編輯:
我開始與非自定義比較簡單,但我得到了一個錯誤:表達式不會產生一個值。不知道我做錯了什麼。 下面是代碼:
Public Shared Function SortListOfStringArray(ByVal ListOfStringArray As List(Of String()), ByVal SortByIndex As Integer) As List(Of String())
Return ListOfStringArray.Sort(Function(x, y) x(SortByIndex).CompareTo(y(SortByIndex)))
End Function
我開始非簡單的非自定義比較,但我收到一個錯誤:表達式不會產生一個值。不知道我做錯了什麼。這裏是代碼: 返回ListOfStringArray.Sort(函數(x,y)x(SortByIndex))公共共享函數SortListOfStringArray(ByVal ListOfStringArray As List(Of String()),ByVal SortByIndex As Integer)As List(Of String()) ).CompareTo(y(SortByIndex))) End Function – tullynyguy
對不起。我不知道如何獲得代碼塊,以便代碼看起來很乾淨。我對編程相當陌生,並且第一次發佈到本網站。 – tullynyguy
@tullynyguy:'Sort'方法不會返回任何東西。首先對列表進行排序,然後返回。如果您想保留原始列表並返回新列表,則必須在對其進行排序之前複製列表。 – Guffa