我需要从目录中获取最近创建的文件名。我试过下面的东西。
DirectoryInfo dirInfo = new DirectoryInfo(@"E:\Result");
var file = dirInfo.GetFiles("PaperResult*").Select(f => f.CreationTime).First();
Console.WriteLine(file);
但它正在返回我的日期和时间。它不返回文件名。我在这里想念什么?任何帮助表示赞赏。
你想 order-by CreationTime
,你不想选择它。
var file = dirInfo.GetFiles("PaperResult*")
.OrderByDescending(f => f.CreationTime).First();
您还可以使用 MoreLinq 库MaxBy(..)
方法(Nuget 上提供了 MoreLinq,或在此处
https://code.google.com/p/morelinq/)
var file = dirInfo.GetFiles("PaperResult*").MaxBy(f=> f.CreationTime);
这个库还有许多其他有用的扩展,非常值得掌握。
var file = dirInfo.GetFiles("PaperResult*").OrderByDescending(f => f.CreationTime).First();
Console.WriteLine(file);