如何按编号对字符串进行排序?

时间:2013-10-05 05:18:32

标签: c# sorting

如何在字符串[]中按数字排序字符串?

string[] subdirectoryEntries = System.IO.Directory.GetDirectories("F:/Loveless/data/");
foreach (string subdirectory in subdirectoryEntries)
{
}

mydata是:

1.E/zdssd/dd
2.E/zdssd/dv
3.E/zdssd/sdd
4.E/zdssd/ddsdfsdfdsf
5.
6.
7.
8.
9.
10.E/dfgdfg11
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22..

结果

1.
10.
11.

...

how to sort 1. 2. 3. 4.

C# language

1 个答案:

答案 0 :(得分:1)

您可以使用Array.Sort Method对数组进行排序。假设数组中的每个字符串都匹配^\d+\..*$,您需要做的就是提取数字,将它们解析为整数并比较值:

Array.Sort<string>(array, (x, y) => 
    int.Parse(x.Substring(0, x.IndexOf('.'))) - 
    int.Parse(y.Substring(0, y.IndexOf('.'))));