You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中按指定规则对去重后的Level字段排序遍历

C#自定义Level排序:让"5C"始终居首,其余升序排列

直接修改你的LINQ查询,在去重后添加自定义排序逻辑即可实现需求:

foreach (var lev in Model.Commissions.Select(x => x.Level)
                                    .Distinct()
                                    .OrderBy(lev => lev == "5C" ? 0 : 1)
                                    .ThenBy(lev => lev))
{
    // 这里写你的遍历处理逻辑
}

逻辑说明:

  1. 优先级排序:通过OrderBy(lev => lev == "5C" ? 0 : 1)给"5C"设置最低的排序权重(0),其余所有值的权重为1。权重小的会优先排在前面,确保"5C"始终处于首位。
  2. 剩余值升序:用ThenBy(lev => lev)对权重为1的所有值执行默认字符串升序排序,实现你需要的后续排列顺序。

效果验证:

原去重后的列表:"1P", "9C", "1T", "6C", "7B", "5C", "4C", "2T"
经过排序后会得到:"5C", "1P", "1T", "2T", "4C", "6C", "7B", "9C",完全符合需求。

内容的提问来源于stack exchange,提问作者Samuel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 15:15:32