如何使用linq获取最新创建的子目录?

时间:2013-02-25 17:28:21

标签: asp.net linq directory

我对Linq很新。但我正在尝试使用Directory.GetDirectories(rootPath).Where(...)编写一个函数来获取最新创建的子目录。是否可能以及如何继续?

2 个答案:

答案 0 :(得分:2)

var info = new DirectoryInfo(rootPath);    
var latestDirectory = info.GetDirectories()
                          .OrderByDescending(d => d.CreationTime)
                          .FirstOrDefault();

您可以轻松更改要排序的DirectoryInfo类属性的名称。

DirectoryInfo.GetDirectories Method返回System.IO.DirectoryInfo数组,因此您可以轻松地按CreationTime对该目录进行排序并返回第一个目录。

VB.NET解决方案:

Dim info As New DirectoryInfo(rootPath)
Dim latestDirectory As DirectoryInfo = info.GetDirectories() _
                                           .OrderByDescending(Function(d) d.CreationTime) _
                                           .FirstOrDefault()

答案 1 :(得分:0)

您需要获取特定的DirectoryInfo信息以确定创建时间。试试这个。

DirectoryInfo di = new DirectoryInfo(rootPath);
var directory = di.GetDirectories()
                  .OrderByDescending(d => d.CreationTime)
                  .FirstOrDefault();