2014-10-06 58 views
0

我要排序的文件從他們使列表中的方法在以後使用它們:如何使用DirectoryInfo和FileInfo獲取所有文件並將排序後的文件添加到列表中?

dirinfo = new DirectoryInfo(radarImagesDirectory); 
var ordered = dirinfo.EnumerateFiles("*.gif") 
     .OrderByDescending(f => f.LastWriteTime); 
FileInfo newest = ordered.FirstOrDefault(); 
FileInfo oldest = ordered.LastOrDefault(); 

我想用排序文件中的方法:

private List<Bitmap> ConvertTo24(List<string> ListinputFileName) 
     { 
      Bitmap bmpIn = null; 
      for (int i = 0; i < ListinputFileName.Count; i++) 
      { 
       bmpIn = (Bitmap)Bitmap.FromFile(ListinputFileName[i]); 
      } 
      Bitmap converted = new Bitmap(bmpIn.Width, bmpIn.Height, PixelFormat.Format24bppRgb); 
      using (Graphics g = Graphics.FromImage(converted)) 
      { 
       g.PageUnit = GraphicsUnit.Pixel; 
       g.DrawImageUnscaled(bmpIn, 0, 0); 
      } 
      ConvertedBitmaps.Add(converted); 
      return ConvertedBitmaps; 
     } 
+0

uhm增加排序到WHICH名單? (代碼中只顯示1個列表:「已排序」) – Thomas 2014-10-06 11:16:19

+0

用我想要使用排序文件的方法更新了我的問題。 – 2014-10-06 11:21:05

+0

您應該在列表中包含列表測試文件,因爲目前ppl必須猜測上面的列表是無處可見的,它存在,它的類型是什麼以及它是如何命名的 – Thomas 2014-10-06 11:21:38

回答

1

一種可能性,以獲得giffiles的列表,並將它們添加到testfiles(排序之後必須做)會是這樣:

List<String> giffiles = Directory.GetFiles(radarImagesDirectory, "*.gif") 
            .Select(path => Path.GetFileName(path)) 
            .ToList(); 

testfiles.AddRange(giffiles); 
testfiles = testfiles.OrderBy(q => q).ToList(); 

第一行獲取所有giffiles到一個列表,第二行將列表添加到預先存在的列表中,第3行命令列表。

相關問題