SO 上有很多类似的问题,但我没有看到适合我情况的问题......
我想知道为什么这对 Premise 对象的 IEnumerable 排序不起作用:
sortedPremiseList = from p in premiseList
orderby (string.Format("{0} {1}", orderBy, sortOrder))
select p;
我正在为 orderBy 参数传递有效的 p.property 并为 sortOrder 参数传递“升序”或“降序”
如果我不能像这样以有限的方式“动态化”我的 LINQ,那么除了丑陋的 Switch 语句或类似的东西之外还有什么选择?
非常感谢您的宝贵时间。
最佳答案
我认为您结合了查询表示法和点表示法。为此,请尝试只使用点符号:
sortedPremiseList = premiseList
.OrderBy(p => string.Format("{0} {1}", p.orderBy, p.sortOrder));
关于c# - 使用 LINQ 对 IEnumerable 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8651860/