在asp.net中按日期对directoryinfo中的文件进行排序

时间:2011-10-12 11:57:38

标签: asp.net vb.net directoryinfo

如何按日期(最旧到最近)对directoryinfo文件进行排序(不过滤)? 我正在使用asp.net和visual studio 2008

3 个答案:

答案 0 :(得分:8)

与vb.net中的@DaRKoN_相同:

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

答案 1 :(得分:4)

GetFiles()类上的DirectoryInfo方法返回一个实现IEnumerable的数组。因此,您可以应用所有标准的LINQ扩展方法。

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

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

答案 2 :(得分: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