Сортировка файлов из directoryinfo по дате в asp.net

как я могу сортировать (не фильтровать) файлы directoryinfo по дате (от самых старых до последних)? Я использую asp.net и визуальную студию 2008 года.


person Frank    schedule 12.10.2011    source источник
comment
Похоже, этот вопрос был рассмотрен в этом сообщении [Sorting Directory.GetFiles()][1] [1]: stackoverflow.com/questions/52842/sorting-directory-getfiles   -  person Jon Reopelle    schedule 12.10.2011


Ответы (3)


То же, что @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
person apros    schedule 12.10.2011

Метод GetFiles() класса DirectoryInfo возвращает массив, который реализует IEnumerable. Таким образом, вы можете применять все стандартные методы расширения LINQ.

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

Изменить: только что понял, что это помечено VB. Также см. комментарий Джона к OP: существующие ответы.

person ChadT    schedule 12.10.2011

Это было помечено 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
person TheMayneLine    schedule 23.06.2014