【问题标题】:Combine to array sorts into one? [duplicate]将数组排序合并为一个? [复制]
【发布时间】:2018-12-05 13:33:01
【问题描述】:

我想知道是否可以将我的排序代码合并为一个?

我首先按枚举对数组进行排序,然后按从低到高的 id 号排序。

所以我当前的代码如下所示:

_entities = _entities.OrderBy(a => a.Priority).ToArray(); //sort by enum
_entities = _entities.OrderBy(a => a.PriorityID).ToArray(); //then sort by id

所以枚举有:

High, Medium,Low

ID 只是整数。

所以最终结果应该是这样的:

High¬
  0 , 1 ,2
Medium¬
  0, 1, 2
Low¬
  0, 1, 2

我不知道组合这些的语法,或者这是否很简单?但是按每个属性一个一个地排序似乎有点低效。

这样做的正确方法是什么?

【问题讨论】:

  • 我想你想用.ThenBy
  • 当您查看排序函数的文档时,您发现了什么?你有没有尝试实现什么?
  • _entities.OrderBy().ThenBy()
  • @tehhowch 我的问题显示了我尝试过的内容 :) 但它现在可以工作了。

标签: c# linq


【解决方案1】:

你可以使用ThenBy:

_entities = _entities.OrderBy(a => a.Priority).ThenBy(a => a.PriorityID).ToArray();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2011-09-17
    • 1970-01-01
    相关资源
    最近更新 更多