【发布时间】:2017-11-06 16:52:39
【问题描述】:
我有一个List<Data> myList 在哪里
public class Data
{
public string Classifier;
public int Code;
}
我想对其进行排序
- 根据数据的
Classifier是否等于某个静态字符串,我们暂时称其为@"Alpha"(不等于第一个,等于第二个) -
Code,升序。
所以输入数据
{
"Beta", 6
"Alpha", 4
"Lambda", 2
"Beta", 1
"Alpha", 5
}
会导致
{
"Beta", 1
"Lambda", 2
"Beta", 6
"Alpha", 4
"Alpha", 5
}
具体来说,我希望 alpha 以数字升序排列到列表的底部。
我不确定如何实现 .Sort Comparison<Data> 实例来支持这一点,而 .OrderBy 似乎不适合这个问题。有什么想法吗?
【问题讨论】:
-
OrderBy-ThenBy 是一个很好的解决方案。但是,请注意
Sort就地排序,OrderBy-ThenBy生成排序序列而不更改原始列表。如果您需要更改原始列表,则必须进行比较。