4

如何按日期(从最旧到最近)对目录信息文件进行排序(不过滤)?我正在使用 asp.net 和 Visual Studio 2008

4

3 回答 3

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
于 2011-10-12T13:14:19.227 回答
4

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

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

编辑:刚刚意识到这是用VB标记的。另请参阅 Jon 对 OP re:existing answers 的评论。

于 2011-10-12T12:38:18.773 回答
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
于 2014-06-23T13:56:22.723 回答