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