在两个条件下对基于字符串的数组进行排序

Cod*_*elp 2 c#

我有一个像这样的字符串数组

May#01
April#02
Jan#03
Run Code Online (Sandbox Code Playgroud)

我需要按字母顺序排序,然后按#旁边的数值排序.字母排序是显而易见的,但我似乎没有得到数字部分.

Ser*_*kiy 5

首先按其值排序字符串(这将为您提供字母排序).然后按#字符后面的整数值过滤:

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)