2011-10-12 5 views
4

Comment puis-je trier (pas filtrer) les fichiers directoryinfo par date (du plus ancien au plus récent)? J'utilise asp.net et visual studio 2008Tri des fichiers de directoryinfo par date dans asp.net

+0

On dirait que cette question a été traitée dans cette publication [Tri Directory.GetFiles()] [1] [1]: http://stackoverflow.com/questions/52842/sorting- répertoire-getfiles –

Répondre

8

La même chose que dans @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

La méthode GetFiles() de la classe DirectoryInfo retourne un tableau qui implémente IEnumerable. Vous pouvez donc appliquer toutes les méthodes d'extension LINQ standard.

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

Édition: Je viens de réaliser que ceci est étiqueté avec VB. Voir aussi le commentaire de Jon sur l'OP re: réponses existantes.

0

Ce vb a été taguée (ce qui est la raison pour laquelle je suis tombé sur elle.) Je pensais que je jetterais la réponse vb là-bas.

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