如何使用DirectoryInfo和FileInfo获取所有文件并将已排序的文件添加到List?

时间:2014-10-06 11:11:49

标签: c# .net winforms

我想从它们列表中对文件make进行排序,以便稍后在方法中使用它们:

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;
        }

1 个答案:

答案 0 :(得分: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放入列表中,第二行将列表添加到预先存在的列表中,第三行将列表排序。