3 回答
TA贡献1875条经验 获得超3个赞
这样的事情怎么样......
var directory = new DirectoryInfo("C:\\MyDirectory");
var myFile = (from f in directory.GetFiles()
orderby f.LastWriteTime descending
select f).First();
// or...
var myFile = directory.GetFiles()
.OrderByDescending(f => f.LastWriteTime)
.First();
TA贡献1851条经验 获得超4个赞
如果你想以递归方式搜索,你可以使用这段漂亮的代码:
public static FileInfo GetNewestFile(DirectoryInfo directory) {
return directory.GetFiles()
.Union(directory.GetDirectories().Select(d => GetNewestFile(d)))
.OrderByDescending(f => (f == null ? DateTime.MinValue : f.LastWriteTime))
.FirstOrDefault(); }只需按以下方式调用它:
FileInfo newestFile = GetNewestFile(new DirectoryInfo(@"C:\directory\"));
就是这样。返回FileInfo实例或null目录为空。
TA贡献1797条经验 获得超6个赞
扩展上面的第一个,如果要搜索某个模式,可以使用以下代码:
string pattern = "*.txt";
var dirInfo = new DirectoryInfo(directory);
var file = (from f in dirInfo.GetFiles(pattern) orderby f.LastWriteTime descending select f).First();
- 3 回答
- 0 关注
- 757 浏览
添加回答
举报
