【发布时间】:2016-05-12 00:34:55
【问题描述】:
我有一个从 web api 请求返回的对象列表。每个对象都有一个名为“PlaceNo”的字段,它的值可以是 0 到 n ,如果尚未分配值,则为 -1。
我需要根据 PlaceNo 对列表进行排序,它需要是 0 到 n ,然后是所有 -1。
allreports.OrderBy(x => Convert.ToInt32(x.PlaceNo)).ToList();
当前代码首先给出所有 -1,然后是 0 到 n。
注意:我在 PlaceNo 上进行类型转换,因为数字是作为字符串而不是整数传递的。
【问题讨论】:
-
最干净的方法是将它们分成两个列表,排序积极的,然后将它们连接起来
-
@Dr.Stitch。通过删除转换,它的排序根本不起作用。我刚刚测试过了。
-
抱歉,因为我误读了您的问题,所以我删除了我的评论。我同意庞伯的观点。
-
@pomber :感谢您的建议。我肯定有这个想法,但我想知道我是否可以只使用一个 LINQ 语句直接做到这一点