Search code examples
c#.netfileloopslast-modified

How to find the most recent file in a directory using .NET, and without looping?


I need to find the most recently modified file in a directory.

I know I can loop through every file in a folder and compare File.GetLastWriteTime, but is there a better way to do this without looping?.


Solution

  • how about something like this...

    var directory = new DirectoryInfo("C:\\MyDirectory");
    var myFile = (from f in directory.GetFiles()
                 orderby f.LastWriteTime descending
                 select f).First();
    
    // or...
    var myFile = directory.GetFiles()
                 .OrderByDescending(f => f.LastWriteTime)
                 .First();