首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

linq 排序有关问题,求解决

2012-12-16 
linq 排序问题,求解决!我有个排序字段orderID 他有1-5个值 ,我想先按3和4再按1 2 5 排序.我想要的结果是这

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楼的做法最正规
[其他解释]
嗯..只是不是太多.就可以.

热点排行