Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在实现一个自定义比较器,以便为各种视图中的项目应用自定义排序顺序。
有时我发现我想保持现有的项目顺序,在这种情况下,我应该从我的Compare方法实现中返回什么?简单地返回 0 就足够了,还是我需要主动识别哪个项目先出现?
Compare
(这个答案归功于Lee)
这取决于用于进行排序的算法是否稳定。例如,OrderBy是稳定的,因此返回 0 fromCompare将意味着这两个项目在列表中保留其原始顺序,但是List.Sort不是,因此返回 0 fromCompare并不能保证这两个项目将在它们的排序输出中的原始顺序。
零,但您的排序算法可能仍会更改其顺序。