2013-02-24 22 views
1

我需要从目录中获取最近创建的文件名。我试过下面的东西。C# - 获取最近创建的文件名

DirectoryInfo dirInfo = new DirectoryInfo(@"E:\Result"); 
    var file = dirInfo.GetFiles("PaperResult*").Select(f => f.CreationTime).First(); 
    Console.WriteLine(file); 

但它是返回我的日期和时间。它没有返回文件名。我在这里错过了什么?任何帮助表示赞赏。

回答

7

您想订购CreationTime,您不想选择它。

var file = dirInfo.GetFiles("PaperResult*") 
    .OrderByDescending(f => f.CreationTime).First(); 
+0

太好了......我只是想要这个。谢谢蒂姆。 – SKJ 2013-02-24 22:12:58

0
var file = dirInfo.GetFiles("PaperResult*").OrderByDescending(f => f.CreationTime).First(); 
Console.WriteLine(file); 
+0

这正是Tim所发布的内容,除非您添加了一个写入行来显示对象文件。 – 2013-02-24 22:13:30

1

您也可以使用MoreLinq图书馆MaxBy(..)方法(MoreLinq上的NuGet提供,或在这里 https://code.google.com/p/morelinq/

var file = dirInfo.GetFiles("PaperResult*").MaxBy(f=> f.CreationTime); 

这个图书馆有很多其他实用的扩展功能,非常值得得到保持它。

相关问题