如何获取按时间戳排序的目录文件列表?

时间:2017-06-19 08:16:09

标签: vb.net linq sorting timestamp

我坚持这个排序问题。

    Private Sub ...
        Dim oDirInfo As DirectoryInfo
        Dim aoFSInfo() As FileSystemInfo
        Dim asFiles() As String

FQPN是以“\ *。*”结尾的完全限定路径名。

        oDirInfo = New DirectoryInfo(FQPN)

现在进入asFiles我想要文件的名称,按文件的时间戳按升序排序。我认为,oDirInfo.CreationTime在这里发挥作用,但无法弄清楚如何正确使用OrderBy

        aoFSInfo = oDirInfo.GetFileSystemInfos()    '?
        asFiles = aoFSInfo.OrderBy(...)
    End Sub

1 个答案:

答案 0 :(得分:2)

是的,这是LINQ,你可以使用这个(方法)语法:

asFiles = oFSInfo.
    OrderBy(Function(fsi) fsi.CreationTime).
    Select(Function(fsi) fsi.FullName).
    ToArray()

如果您不喜欢ugly Function keyword,则可以使用查询语法:

Dim orderedFiles = From fsi In oFSInfo
                   Order by fsi.iCreationTime Ascending
                   Select fsi.FullName
asFiles = orderedFiles.ToArray()

即使这些是两个语句,由于延迟执行,它也不比方法语法慢。