var List = (from p in ListData orderby p.Code ascending select new keyvaluePair<int,string>(p.Code,p.DESC) ).distinct<keyvaluePair<int,string>>().ToList<keyvaluePair<int,string>>();
我把列表作为,
2,MEDICAL5,RETAIL6,OTHER7,GOVT
按代码订购
现在,我的预期结果如下,RETAIL7,GOVT6,OTHER
我知道我可以通过修改包含这些值的sql表或通过向表中添加额外的数字列来指定序列顺序来获得预期的结果.
是否有可能在没有修改表的情况下在liNQ的帮助下获得结果?
解决方法 所以你想让OTHER处于最后位置?from p in ListDataorderby p.DESC == "OTHER" ascending,p.Code ascending
这是有效的,因为true是“高”而不是假,也许你觉得这更可读:
orderby p.DESC == "OTHER" ? 1 : 0 ascending总结
以上是内存溢出为你收集整理的c# – 使用LINQ有条件地更改List项的顺序全部内容,希望文章能够帮你解决c# – 使用LINQ有条件地更改List项的顺序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)