c# - 无法使用 OrderBy C# 功能以某种方式对列表进行排序
问题描述
编辑- 右侧的正确结果(在下面的示例中)是 excel 如何进行排序以及我试图在 C# 中使用 OrderBy 完成的工作。
我有以下 OrderBy 声明:
tempList.OrderBy(x => x.value);
并得到以下结果:
01P
41
90
但我需要它改为以下内容:
41
90
01P
有没有办法使用 OrderBy 来完成这种类型的排序?我已经尝试添加 StringComparison.(type) 的所有变体,但我无法让排序工作。
任何帮助深表感谢!
更多示例如下:
Sorted by OrderBy: What is needed instead:
示例 1)
35 7
7 35
例 2)
44K 692
692 44K
例 3)
0EP 629
0ET 0EP
692 0ET
例 4)
10W 110
110 10W
解决方案
我想你之前想要一个数字排序。尝试如下:
string[] myArray = { "0EP", "0ET", "692" };
var result = myArray.OrderBy(a => !int.TryParse(a, out var _)).ThenBy(a => a).ToList();
推荐阅读
- android - 线性布局禁用点击导航抽屉
- mongodb - 具有复杂查询的 MongoDB 索引覆盖率
- c++ - UE4“无法启动编辑器” | UE4 从源错误构建
- javascript - 计算数组集合中的对象数
- python-3.x - 在 Azure 函数 Python SDK 中,如何获取给定命名空间的主题数?
- java - 无法在 GUI 中组合两个流以显示为一个
- python - 我们如何在 Django 中从数据库中随机获取两个以上的用户?
- spring-boot - 使Springboot应用程序Pod自动删除
- java - Java异常堆栈跟踪有“$ 8”,这是什么意思?
- node.js - 当 TypeScript 中有多个返回类型时,如何检查对象的类型?