【发布时间】:2020-06-06 12:01:01
【问题描述】:
我正在尝试将自定义 orderby 逻辑应用于列表对象。目前,我正在使用列表对象填充计划最大值和计划免赔额的下拉列表,并且在按以下值应用订单后,默认为计划免赔额。但我想自定义这个计划免赔额的顺序,而不是 0(零),我想显示下一个可用的最高值(即在这种情况下为 100)。这是输出 Dropdown
我已经浏览了下面的链接并应用了这个逻辑,但在我的情况下它不起作用 Linq OrderBy custom order Custom Linq Ordering
这里是代码
int[] customOrder = { 100, 0, 50, 150, 250, 500, 1000, 2500, 5000, 10000, 50000 };
var Result = lstQuatationResult
.OrderBy(x => x.planMaximum)
.OrderBy(x => x.planDeductible)
.OrderBy(x => Array.IndexOf(customOrder, x));
提前致谢。
【问题讨论】:
-
使用
OrderBy(x => x.planMaximum).ThenBy(x => x.planDeductible).ThenBy(x => Array.IndexOf(customOrder, x)); -
每个下一个
OrderBy子句都会重置之前的排序。 -
你也可以举一些输入和期望输出的例子。
-
这能回答你的问题吗? LINQ OrderBy versus ThenBy
-
感谢大家的评论,但输出仍然不是我想要的。目前我正在获得 planDeductible 的输出,例如 0、50、100、150、250、500,但所需的输出是 100、0、50、150、250、500。
标签: c# .net linq sorting sql-order-by