如何按日期(最旧到最近)对directoryinfo文件进行排序(不过滤)? 我正在使用asp.net和visual studio 2008
答案 0 :(得分:8)
与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
答案 1 :(得分:4)
GetFiles()
类上的DirectoryInfo
方法返回一个实现IEnumerable的数组。因此,您可以应用所有标准的LINQ扩展方法。
var orderedFiles = new System.IO.DirectoryInfo("path")
.GetFiles()
.OrderBy(x => x.CreationTime);
编辑:刚刚意识到这是用VB标记的。另请参阅Jon关于OP re:现有答案的评论。
答案 2 :(得分:0)
这是标记为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