linq 排序问题,求解决!
我有个排序字段orderID 他有1-5个值 ,我想先按3和4再按1 2 5 排序.我想要的结果是这样的
3 张三
4 李四
1 王五
2 赵六
5 张八
3,4必须在最前面..后面怎么排序无所谓.
用linq 该怎么实现,求助
------最佳解决方案--------------------集合.OrderBy(x => x.OrderID == 3 ? -1 : x.OrderID == 4 ? 0 : x.OrderID);
------其他解决方案--------------------var source=dc.Class1.OrderBy(t=>t.orderID>=3&&t.orderID<=4?t.orderID-100:t.orderID );
------其他解决方案--------------------无厘头么?没有规律的话,你就取出 3,4 Add 再取出 1,2,5 Add 到新的List里去好了!
------其他解决方案--------------------select * from table
where orderID='3' or orderID='4'
union
select * from table
where orderID<>'3' and orderID<>'4'
------其他解决方案--------------------
这个办法很好。
------其他解决方案--------------------感觉规则有点。。。
------其他解决方案--------------------1楼的哥们.我感觉那挺麻烦的.3楼的.没写全吧..我直接list.OrderBy(x => x.OrderID == 3 ? -1 : x.OrderID == 4 ? 0 : x.OrderID); 结果不对
------其他解决方案--------------------谢了.3楼..变量= list.OrderBy(x => x.OrderID == 3 ? -1 : x.OrderID == 4 ? 0 : x.OrderID).toList(); 就可以了
------其他解决方案--------------------当你的ID不止两个的时候,还是按照1楼的做法最正规
------其他解决方案--------------------嗯..只是不是太多.就可以.