2016-03-15 121 views
-1

我有這段代碼,我想查看最後一條記錄。我試過一些答案,但沒有解決。在vb.net中按日期對directoryinfo中的文件進行排序

所有的
dim a = Request("a") 

dim thisOne as new DirectoryInfo(Server.MapPath(a)) 
dim subDirectories as DirectoryInfo() = thisOne.GetDirectories() 
dim theFiles() as FileInfo = thisOne.GetFiles() 


dim j = 0 
%> 
<table id="RESIMLISTESIBILGISI"> 
    <%While j<theFiles.Length %>  
    <tr> 
     <td><input type="radio" name="SilinecekDosya" value="<%=a%>/<%=theFiles(j).Name%>"></td> 
     <td><a href="#d" onclick="DA('<%=a.replace("\", "\\")%>/<%=theFiles(j).Name%>')"><%=theFiles(j).Name%></a></td> 
     <td><%=FormatNumber(theFiles(j).Length/1024 ,0)%></td> 
    </tr> 
    <% 
    j += 1 
    end while 
    %> 
+1

'thisOne.EnumerateFiles()排序依據(功能(X)x.CreationTime).toArray()'有幾個日期從FileInfo的 – Plutonix

+0

選擇沒有發揮出來。得到錯誤... – radyokafa

+1

而你不認爲錯誤信息足夠重要,可以告訴我們嗎? –

回答

0

首先,你需要把你的文件轉換成一個列表,因爲列表可以使用自定義功能進行排序。然後創建一個自定義函數,根據您的需要對文件進行排序。最後,你調用內部排序功能爲每個循環(因爲我不喜歡田地......)

所以比較函數:

Private Function SortByDate(X As FileInfo, Y As FileInfo) As Integer 
    Return X.CreationTime.CompareTo(Y.CreationTime) 
End Function 

那麼你的代碼中:

Dim dir As New DirectoryInfo("My\Directory\Path") 
Dim fileList As List(Of FileInfo) = dir.GetFiles().ToList() 
fileList.Sort(AddressOf SortByDate) 

For Each F As FileInfo In fileList 
    'Do some stuff 
    MessageBox.Show(F.Name) 'This should display the filename 
Next 

這應該做的伎倆......

相關問題