将String拆分为数组和排序数组

Imr*_*hid 5 .net c# linq arrays sorting

我试图用逗号分割字符串.但它没有像预期的那样表现

var classes = "10,7,8,9";
Console.Write(string.Join(",", classes.Split(',').OrderBy(x => x)));
Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)

和输出是

10,7,8,9

但我希望预期的输出如下:

7,8,9,10

类可以包含一个部分.像7a,7b

我想在一行代码上实现它.

Kah*_*azi 3

你可以像这样使用正则表达式

var classes = "10,7,8,9";
Regex number = new Regex(@"^\d+");
Console.Write(string.Join(",", classes.Split(',').OrderBy(x => Convert.ToInt32(number.Match(x).Value)).ThenBy(x => number.Replace(x, ""))));
Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)