我需要对 List<string>
进行排序遵循 2 条规则。
我的 string
元素将始终被格式化为 XXXnnnnE
或 XXXnnnnD
其中 X
是从 A 到 Z 的大写字母和 n
是0到9的数字。
我想按字母顺序对我的列表进行排序,但我想要 E
D
之前的字符串字符串如下所示
DFG0001D
AWK0007E
ORK0127E
AWK0007D
DFG0001E
ORK0127D
需要排序为
AWK0007E
AWK0007D
DFG0001E
DFG0001D
ORK0127E
ORK0127D
我怎样才能做到这一点?
感谢帮助
最佳答案
这是您如何使用 Linq 执行此操作的片段 OrderBy和 ThenByDescending操作:
string[] arr = { "DFG0001D", "AWK0007E", "ORK0127E", "AWK0007D", "DFG0001E", "ORK0127D" };
arr = arr
.OrderBy(r => r.Substring(0, 7))
.ThenByDescending(s => s.Substring(7, 1))
.ToArray();
关于c# - 如何对 List<string> 中的 2 个不同规则进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55629707/