我有一个目录,其中包含以下格式的多个sql文件
1_aaaaa.sql
2_ddddd.sql
.
.
.
我需要以递增的顺序获取这些文件..
我写了以下程序:
if (Directory.Exists(DatabaseLocation))
{
DirectoryInfo dir = new DirectoryInfo(DatabaseLocation);
var files = dir.GetFiles("*.sql");
List<KeyValuePair<int, string>> listFiles = new List<KeyValuePair<int, string>>();
foreach (var file in files)
{
listFiles.Add(new KeyValuePair<int, string>(int.Parse(file.Name.Split('_')[0]),file.FullName));
}
listFiles.OrderBy(x =>x.Key);
}
这给了我错误的结果。我得到的序列是
10....
11
12
13
14
15
16
17
18
19
1
20
21
and so on...
但是我想要以下顺序:
1
2
3
4
....
任何帮助都将不胜感激。
答案 0 :(得分:3)
使用以下代码:
listFiles=listFiles.OrderBy(x =>x.Key).ToList();