如何创建Alphabet和Number的字符串组合系列?

Bad*_*dea 3 c#

我有一个数据列表集合,例如:

List<String> Dummy = new List<String>()
{
  "1001A",
  "1003A",
  "1002B",
  "1002A",
  "1003B",
  "1001B",
  "1003C",
  "1002C",
  "1001C",
};
Run Code Online (Sandbox Code Playgroud)

我想把这个数据列表整理成一系列.主要系列将重点关注Alphabet(字符串的最后一个字符),子系列将基于左边的数字.输出将是这样的:

1001A
1002A
1003A
1001B
1002B
1003B
1001C
1002C
1003C
Run Code Online (Sandbox Code Playgroud)

除了上面的示例之外,我已经只有一系列数字的功能代码.感谢阅读我的帖子.

LIn*_*Teh 7

 var result = Dummy
              .OrderBy(p => p[p.Length - 1])
              .ThenBy(p => p.Substring(0, p.Length - 1));
Run Code Online (Sandbox Code Playgroud)

这将首先按字符串的最后一个字符排序,然后按字符串的最后一个字符除外.

如果所有字符串具有相同的长度,您也可以将最后一部分保留.ThenBy(p => p),因为字符串已经按最后一个字符排序.如果字符串长度不同,则需要在我的代码中使用子字符串.

  • @juharr是的,我认为这是作者想要的.比如文件名.如果它是纯数字,他需要使用`int.Parse(p.Substring(0,p.Length - 1))` (2认同)