任何人能解釋爲什麼這代碼:排序列表/ SortedDictionary怪異的行爲
Dim Data As New SortedList(StringComparer.InvariantCultureIgnoreCase)
Data.Add("AB", 48)
Data.Add("AC", 48)
Data.Add("A-D", 48)
Data.Add("A-", 48)
生成具有下列順序排序列表:
A-
AB
AC
A-D
預期(邏輯真想)的順序是:
A-
A-D
AB
AC
正確。不變的文化,就像.NET中的水獺文化一樣,首先將所有的破折號去掉,看看哪一個字符串大於那個。如果發現更大的字符串,返回該結果。否則,將考慮破折號。 –
@JeppeStigNielsen爲什麼這種特殊照顧連字符? –