我有一个通用列表中的项目列表:
- A1(排序索引 1)
- A2(排序索引 2)
- B1(排序索引 3)
- B2(排序索引 3)
- B3(排序索引 3)
它们的比较器采用以下形式:
this.sortIndex.CompareTo(other.sortIndex)
当我对项目列表执行 List.Sort() 时,我得到以下顺序:
- A1
- A2
- B3
- B2
- B1
从排序索引的正确顺序来看,它显然是有效的,但我真的不希望它重新排序“B”项。
我可以对我的比较器进行任何调整来解决这个问题吗?
最佳答案
OrderBy
保留相同项目的顺序:
myList = myList.OrderBy(item => item.SortIndex).ToList();
关于c# - 为什么我的 C# 中的 List.Sort 方法颠倒了列表的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2674266/