2011-10-12 105 views
4

如何按日期(最早到最近)对directoryinfo文件进行排序(而不是筛选)? 我正在使用asp.net和visual studio 2008在asp.net中按日期对directoryinfo中的文件进行排序

+0

看起来这个问题是在此张贴处理[排序Directory.GetFiles()] [1] [1]:http://stackoverflow.com/questions/52842/sorting-目录的GetFiles –

回答

8

同为@DaRKoN_在vb.net:

Module Module1 

    Sub Main() 
     Dim orderedFiles = New System.IO.DirectoryInfo("c:\\").GetFiles().OrderBy(Function(x) x.CreationTime) 
     For Each f As System.IO.FileInfo In orderedFiles 
      Console.WriteLine(String.Format("{0,-15} {1,12}", f.Name, f.CreationTime.ToString)) 
     Next 
    End Sub 

End Module 
4

DirectoryInfo类的GetFiles()方法返回一个Array,它实现IEnumerable。所以你可以应用所有的标准LINQ扩展方法。

var orderedFiles = new System.IO.DirectoryInfo("path") 
         .GetFiles() 
         .OrderBy(x => x.CreationTime); 

编辑:刚才意识到这是用VB标记的。另请参阅Jon在OP上的评论:现有答案。

0

这被标记VB(这就是为什么我碰到它。)我以为我会扔VB答案在那里。

Dim sDir As String = HttpRuntime.AppDomainAppPath 
    Dim oDirInfo As System.IO.DirectoryInfo 
    Dim oInfo As System.IO.FileInfo 

    oDirInfo = New System.IO.DirectoryInfo(sDir) 

    oInfo = oDirInfo.GetFiles().OrderByDescending(Function(p) p.LastWriteTime).First() 

    return oInfo.LastWriteTime 
相关问题