【问题标题】:Sorting files from directoryinfo by date in asp.net在asp.net中按日期对目录信息中的文件进行排序
【发布时间】:2011-10-12 11:57:38
【问题描述】:
如何按日期(从最旧到最近)对目录信息文件进行排序(而不是过滤)?
我正在使用 asp.net 和 Visual Studio 2008
【问题讨论】:
标签:
asp.net
vb.net
directoryinfo
【解决方案1】:
与 vb.net 中的@DaRKoN_ 相同:
Module Module1
Sub Main()
Dim orderedFiles = New System.IO.DirectoryInfo("c:\\").GetFiles().OrderBy(Function(x) x.CreationTime)
For Each f As System.IO.FileInfo In orderedFiles
Console.WriteLine(String.Format("{0,-15} {1,12}", f.Name, f.CreationTime.ToString))
Next
End Sub
End Module
【解决方案2】:
DirectoryInfo 类上的GetFiles() 方法返回一个数组,它实现了 IEnumerable。因此,您可以应用所有标准的 LINQ 扩展方法。
var orderedFiles = new System.IO.DirectoryInfo("path")
.GetFiles()
.OrderBy(x => x.CreationTime);
编辑:刚刚意识到这是用 VB 标记的。另请参阅 Jon 对 OP re:existing answers 的评论。
【解决方案3】:
这被标记为 vb(这就是我遇到它的原因。)我想我会把 vb 的答案扔在那里。
Dim sDir As String = HttpRuntime.AppDomainAppPath
Dim oDirInfo As System.IO.DirectoryInfo
Dim oInfo As System.IO.FileInfo
oDirInfo = New System.IO.DirectoryInfo(sDir)
oInfo = oDirInfo.GetFiles().OrderByDescending(Function(p) p.LastWriteTime).First()
return oInfo.LastWriteTime