读书人

linq 排序有关问题,求解决

发布时间: 2012-12-16 12:02:32 作者: rapoo

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'


[其他解释]

引用:
集合.OrderBy(x => x.OrderID == 3 ? -1 : x.OrderID == 4 ? 0 : x.OrderID);

这个办法很好。
[其他解释]
感觉规则有点。。。
[其他解释]
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楼的做法最正规
[其他解释]
嗯..只是不是太多.就可以.

读书人网 >.NET

热点推荐