2014-11-17 57 views
1

如何更新我的代碼,以便按照創建的日期/時間順序處理所有文件?目錄中的文件按文件名升序排序 - 對於每個

Private Sub StartupFindExistingFiles(Path As String, SearchPattern As String) 
    Dim fileEntries As String() = Directory.GetFiles(Path, SearchPattern) 
    For Each fileName As String In fileEntries 
     PrintJOBFile(fileName) 
    Next 
End Sub 

回答

1

您可以用File.GetCreationTime使用LINQ:

Dim orderedByCreation = From file In Directory.EnumerateFiles(Path, SearchPattern) 
         Let createdAt = System.IO.File.GetCreationTime(file) 
         Order By createdAt Ascending 
         Select file 

For Each filePath As String In orderedByCreation 
    PrintJOBFile(filePath) 
Next 

注意,你也可以使用GetFiles代替EnumerateFiles。後者可以更高效。

+0

我已更改爲'.EnumerateFiles(Path,SearchPattern)'代碼。我很高興它的工作。 – Jim

+0

@Jim:我已經在幾秒鐘前解決了這個問題,它是從你的代碼中複製粘貼的問題;) –

+0

你能指點我一個很好的LINQ教程/電子書嗎? – Jim

相關問題