我得到一个包含LINQ表达式的项目列表,
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,MEDICAL 5,RETAIL 6,OTHER 7,GOVT
按代码订购
现在,我的预期结果如下,RETAIL 7,GOVT 6,OTHER
我知道我可以通过修改包含这些值的sql表或通过向表中添加额外的数字列来指定序列顺序来获得预期的结果.
是否有可能在没有修改表的情况下在LINQ的帮助下获得结果?
解决方法
所以你想让OTHER处于最后位置?
from p in listData orderby p.DESC == "OTHER" ascending,p.Code ascending
这是有效的,因为true是“高”而不是假,也许你觉得这更可读:
orderby p.DESC == "OTHER" ? 1 : 0 ascending
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。