排序列表<keyvaluepair <int,string>&gt;通过键盘c sharp

时间:2015-08-19 05:17:55

标签: c#

我有一个目录,其中包含以下格式的多个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
....

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:3)

使用以下代码:

listFiles=listFiles.OrderBy(x =>x.Key).ToList();