C# List排序问题

DennisRen 2019-10-12 10:28:42
var newList = list.OrderBy(x => x.A).ThenBy(x=>x.B).ThenBy(x=>C).ToList();

以上代码测试效果为:先按照A排序,再按照C排序,B字段排序直接跳过了为什么?难道OrderBy之后只能有一个ThenBy吗?

如何让List按照A字段排序后,再按照B排序,再按照C排序?
...全文
102 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bloodish 2019-10-12
  • 打赏
  • 举报
回复
只要在OrderBy之后,ThenBy可以出现任意多次,建议你检查一下其他的代码逻辑.
正怒月神 2019-10-12
  • 打赏
  • 举报
回复
你要看他们X.A是不是相同啊。 如果A相同了,那么C字段的肯定比B字段的排在前面了。
DennisRen 2019-10-12
  • 打赏
  • 举报
回复
引用 5 楼 yangli2581 的回复:
OrderBy后面的ThenBy可以出现多次,是在前面的排序一样的情况下进行后一个ThenBy的排序

你的回答很专用
yangli2581 2019-10-12
  • 打赏
  • 举报
回复
OrderBy后面的ThenBy可以出现多次,是在前面的排序一样的情况下进行后一个ThenBy的排序
DennisRen 2019-10-12
  • 打赏
  • 举报
回复
引用 1 楼 正怒月神 的回复:
你要看他们X.A是不是相同啊。
如果A相同了,那么C字段的肯定比B字段的排在前面了。

是的,是的,我自己理解错误了,谢谢!
DennisRen 2019-10-12
  • 打赏
  • 举报
回复
引用 2 楼 bloodish 的回复:
只要在OrderBy之后,ThenBy可以出现任意多次,建议你检查一下其他的代码逻辑.

你的回答木有毛病

111,121

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧