【发布时间】:2010-09-22 06:52:39
【问题描述】:
类似于List<> OrderBy Alphabetical Order,我们想先按一个元素排序,然后再按另一个。我们想要实现的功能等价于
SELECT * from Table ORDER BY x, y
我们有一个包含许多排序函数的类,并且按一个元素排序没有问题。
例如:
public class MyClass {
public int x;
public int y;
}
List<MyClass> MyList;
public void SortList() {
MyList.Sort( MySortingFunction );
}
我们在列表中有以下内容:
Unsorted Sorted(x) Desired
--------- --------- ---------
ID x y ID x y ID x y
[0] 0 1 [2] 0 2 [0] 0 1
[1] 1 1 [0] 0 1 [2] 0 2
[2] 0 2 [1] 1 1 [1] 1 1
[3] 1 2 [3] 1 2 [3] 1 2
稳定排序更可取,但不是必需的。欢迎使用适用于 .Net 2.0 的解决方案。
【问题讨论】:
-
@Bolu 我已经明确删除了标签以使发布版本不可知,并更新了与之匹配的答案。如果您认为 4.0/2.0 不够突出,请考虑在问题中进行澄清编辑,而不是恢复标签。
-
对不起@AlexeiLevenkov,没太注意,请随意回滚。
-
好的。已还原更改。
-
此问题已更新,涵盖了 .Net 的所有版本,从最初的 2.0 开始 - 包含针对不同框架和要求的多个替代答案 - 全部查看,看看哪一个更符合您的要求。