【问题标题】: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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多