c# - 使用 LINQ 在 OrderBy 中自定义排序逻辑

标签 c# .net linq sorting sql-order-by

在我希望以下划线“_”开头的项目位于列表底部的情况下,对字符串列表进行排序的正确方法是什么,否则一切都是按字母顺序排列的。

现在我正在做这样的事情,

autoList.OrderBy(a => a.StartsWith("_") ? "ZZZZZZ"+a : a )

最佳答案

如果您想要自定义排序,但不想提供比较器,您可以使用它 - sql 样式:

autoList
.OrderBy(a => a.StartsWith("_") ? 2 : 1 )
.ThenBy(a => a);

关于c# - 使用 LINQ 在 OrderBy 中自定义排序逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3007470/

相关文章:

c# - 如何有选择地将 OperationFilter 添加到 Swagger 中的 API 端点?

.net - Authenticode 签名验证 - 是一个缓慢的过程。我应该吗?

c# - 在 Json.Net 中获取 JObject 的名称

c# - 使用 LINQ 查询或 GetObjectKey 检索单个 Entity Framework 实体?

c# - .NET 渐晕图像效果算法

c# - 从 Linq To Sql 对象获取字段名称

c# - 如何在 visual studio 2013 中创建多项目模板?

c# - 在 C# 中循环访问数据透视字段值的数据透视项

c# - 为大型下载配置 httpRuntime 执行超时

.net - 组件架构和 DI 容器的使用?