C# - 获取最近创建的文件名

时间:2013-02-24 22:07:21

标签: c# .net

我需要从目录中获取最近创建的文件名。我在下面尝试过。

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

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

3 个答案:

答案 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);