【问题标题】:C# - Get Most recently created File name [duplicate]C# - 获取最近创建的文件名[重复]
【发布时间】:2013-02-25 06:13:43
【问题描述】:

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

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

但它返回给我日期和时间。它不返回文件名。我在这里想念什么?任何帮助表示赞赏。

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    你想通过CreationTime订购,你不想选择它。

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

    【讨论】:

    • 太棒了...我只是想要这个。谢谢蒂姆。
    【解决方案2】:

    您还可以使用 MoreLinq Library MaxBy(..) 方法(MoreLinq 在 Nuget 上可用,或在此处 https://code.google.com/p/morelinq/)

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

    这个库还有许多其他有用的扩展,非常值得掌握。

    【讨论】:

      【解决方案3】:
      var file = dirInfo.GetFiles("PaperResult*").OrderByDescending(f => f.CreationTime).First();
      Console.WriteLine(file);
      

      【讨论】:

      • 这正是 Tim 发布的内容,只是您添加了一条显示目标文件的写入行。
      猜你喜欢
      • 1970-01-01
      • 2019-01-20
      • 2022-06-15
      • 2013-02-26
      • 1970-01-01
      • 2012-03-07
      • 1970-01-01
      • 2012-12-23
      相关资源
      最近更新 更多