Linq для файловой системы, чтобы получить последний созданный файл с различными расширениями в каждой подпапки - PullRequest
0 голосов
/ 16 января 2012

см. Мой пост .

Здесь я получаю последний созданный файл в каждой подпапке, но мне нужно получить последние созданные файлы с различными расширениями.

Например, есть пять подпапок, каждая из которых содержит более одного файла PDF и более одного файла Excel, тогда запрос должен принести один файл PDF и один файл Excel из каждого каталога.В результате у меня должно быть десять предметов.

1 Ответ

1 голос
/ 17 января 2012

Будет ли это работать для вас?

DirectoryInfo di = new DirectoryInfo(@"C:\Installers");

var recentFiles = di.GetDirectories()
    .SelectMany(d => d.EnumerateFiles()
                      .GroupBy(f => f.Extension)
                      .Select(gf => gf.OrderByDescending(f => f.CreationTimeUtc)
                                      .FirstOrDefault()))
    .Where(x => x != null)
    .Select(x => x.FullName)
    .ToList();
...