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

Chris Klepeis picture Chris Klepeis · Jul 24, 2009 · Viewed 194.4k times · Source

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?.

Answer

Scott Ivey picture Scott Ivey · Jul 24, 2009

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();