目前我的应用程序使用string [] subdirs = Directory.GetDirectories(path)来获取子目录列表,现在我想提取列表中最新(最后修改过的)子目录的路径.
实现这一目标的最简单方法是什么?(效率不是一个主要问题 - 但坚固性是)
Mat*_*hen 48
非递归:
new DirectoryInfo(path).GetDirectories()
.OrderByDescending(d=>d.LastWriteTimeUtc).First();
Run Code Online (Sandbox Code Playgroud)
递归:
new DirectoryInfo(path).GetDirectories("*",
SearchOption.AllDirectories).OrderByDescending(d=>d.LastWriteTimeUtc).First();
Run Code Online (Sandbox Code Playgroud)
Lar*_*mie 14
不使用LINQ
DateTime lastHigh = new DateTime(1900,1,1);
string highDir;
foreach (string subdir in Directory.GetDirectories(path)){
DirectoryInfo fi1 = new DirectoryInfo(subdir);
DateTime created = fi1.LastWriteTime;
if (created > lastHigh){
highDir = subdir;
lastHigh = created;
}
}
Run Code Online (Sandbox Code Playgroud)