【发布时间】:2016-03-01 12:09:36
【问题描述】:
我是否正确理解 orderbydescending 实际上并没有重新排列列表的顺序?如果是这样,最好的方法是什么?
newList= myOldList.OrderByDescending(x => x.DateTime)
.ThenBy(x => x.Status)
.Where(x => x.Status != StatusEnum.Complete).ToList();
这似乎并没有真正重新排列它们,最有效的方法是什么?
谢谢。
【问题讨论】:
-
以什么方式重新排列它们?
-
在where子句之后尝试排序
-
你能提供一个小样本来演示这个问题吗?如果您也想订购旧列表,则必须将
newList重新分配给myOldList。 -
您还应该注意,对枚举进行排序使用的是底层数值,而不是标签。如果 StatusEnum.Complete 的基础值为 1,而 StatusEnum.InProgress 的基础值为 0,则 InProgress 在排序输出中将位于 Complete 之前。