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?.
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?.
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();
Another approach if you are using Directory.EnumerateFiles and want to read files in latest modified by first.
foreach (string file in Directory.EnumerateFiles(fileDirectory, fileType).OrderByDescending(f => new FileInfo(f).LastWriteTime))
}