2013-10-18 112 views
0

此代码给我一个文件夹列表。没有分类,它会首先出现。虽然我不认为这是可以保证的(它可以根据文件名称进行排序)。我想使用OrderBy或OrderByDescending函数根据创建日期对其进行最新排序。按创建日期排序DirectoryInfo

Dim di As New DirectoryInfo(root) 
folderList = di.GetDirectories() 

'does not work 
folderList.OrderByDescending(Function(x) x.CreationTime) 

谢谢

回答

3

您需要(重新)分配一个OrderByDescending返回变量,它不会责令原收藏价值。

例如:

folderList = folderList. 
    OrderByDescending(Function(x) x.CreationTime). 
    ToArray() 

另一种选择是将原始数组进行排序:

Array.Sort(folderList, Function(d1, d2) d1.CreationTime.CompareTo(d2.CreationTime)) 

我使用this overload of Array.SortComparison(Of T)