2011-10-12 143 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 
相關問題