我被提出了这个琐事问题,并认为它相当简单。这个人让我解释为什么这个列表没有按字母顺序排序。我认为这是一个技巧问题,直到我把它扔到一个小存根项目中,他们是对的……没有技巧,它不按字母顺序排序。我用谷歌搜索,我读到的所有内容都说 Sort() 会按我期望的方式工作。所以edjumakate我的天才。我显然没有答案。
string str_animals = "hyena, cat, elephant, dog, iguana";
List<string> lst_animals = new List<string>(str_animals.Split(','));
lst_animals.Sort();
排序后我的清单是:猫,狗,大象,鬣蜥,鬣狗????鬣狗和鬣蜥不正常?
MSDN 说“此方法使用 Array.Sort,它使用 QuickSort 算法。此实现执行不稳定排序;也就是说,如果两个元素相等,则可能不会保留它们的顺序。相反,稳定排序会保留元素的顺序是相等的”但是鬣狗和鬣蜥不相等,所以我认为不稳定的排序并不重要。
我错过了什么?
谢谢你