我有一个像这样的字符串数组
May#01
April#02
Jan#03
Run Code Online (Sandbox Code Playgroud)
我需要按字母顺序排序,然后按#旁边的数值排序.字母排序是显而易见的,但我似乎没有得到数字部分.
首先按其值排序字符串(这将为您提供字母排序).然后按#字符后面的整数值过滤:
array.OrderBy(s => s)
.ThenBy(s => Int32.Parse(s.Split('#')[1]))
Run Code Online (Sandbox Code Playgroud)
样品:
string[] array = { "May#01", "April#02", "Jan#03", "April#01" };
var query = array.OrderBy(s => s)
.ThenBy(s => Int32.Parse(s.Split('#')[1]));
Run Code Online (Sandbox Code Playgroud)
结果:
"April#01"
"April#02"
"Jan#03"
"May#01"
Run Code Online (Sandbox Code Playgroud)