我已经四处搜寻,却找不到任何东西,也许我不确定如何为Google正确表达我的问题。
在处理包含多个字母的字符串时,我需要按字母顺序对字符串列表进行排序。
给出值"A", "AA", "B", "BB", "C", "Z", "CC"
我需要输出为"A", "B", "C", "Z", "AA", "BB", "CC"
我已经研究了自然排序,但这不能给我想要的结果。
答案 0 :(得分:4)
以下内容应为您提供帮助
var list = new []{"A", "AA", "B", "BB", "C", "Z", "CC"};
var result = list.OrderBy(x => x.Length).ThenBy(x=> x);
解决方案的关键在于按每个条目的长度排序列表,然后按实际值排序。
输出
A
B
C
Z
AA
BB
CC