在C#中按修改日期循环遍历文件

时间:2012-02-02 21:59:12

标签: c#

用户正在选择多个文件

  OpenFileDialog openFileDialog1 = new OpenFileDialog();
  openFileDialog1.Multiselect = true;
  DialogResult result = openFileDialog1.ShowDialog(); // Show the dialog.
  int id = RadarGraphInsertDLL.SalesDWH.Return_Last_QuickLabDumpID();
  if (result == DialogResult.OK) // Test result.
  {
      foreach (string file in openFileDialog1.FileNames)
      {
         /////

我希望foreach按照MODIFIED DATE的顺序处理文件

如何按修改日期获取文件?

2 个答案:

答案 0 :(得分:4)

尝试使用它来订购文件列表:

openFileDialog1.FileNames.OrderBy(p => System.IO.File.GetLastWriteTime(p))

编辑 - 订购澄清

在这种情况下,.OrderBy将首先根据最早的修改文件对文件名进行排序。要先根据最近修改过的文件进行排序,请改用.OrderByDescending

答案 1 :(得分:2)

编辑:抱歉,我误解了这个问题。

FileInfo类提供了获取修改日期所需的属性 对于排序部分,您可以使用LINQ OrderBy(),例如:

var sortedFiles = 
openFileDialog1.FileNames.OrderBy(x => new FileInfo(x).LastWriteTime);

foreach(var file in sortedFiles)
{
   // ...
}