我坚持这个排序问题。
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
答案 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()
即使这些是两个语句,由于延迟执行,它也不比方法语法慢。