Получить последний обновленный подкаталог - PullRequest
0 голосов
/ 07 октября 2010

Пытаюсь найти последний подкаталог родительского директора.

public static DirectoryInfo GetLatestSubDirectory(string parentDirPath)

На данный момент реализация использует алгоритм пузырьковой сортировки , чтобы найти последнюю версию, сравнивая время создания.

 if (subDirInfo.CreationTimeUtc > latestSubDirInfo.CreationTimeUtc)

Интересно, есть ли более эффективный способ сделать это? LINQ ??

Ответы [ 2 ]

1 голос
/ 07 октября 2010
return new DirectoryInfo(parentDirPath)
           .GetDirectories()
           .OrderByDescending(d => d.CreationTimeUtc)
           .First()
0 голосов
/ 07 октября 2010

Под последним, я полагаю, вы имеете в виду самое новое. Мне интересно, почему для выбора минимального / максимального элемента из коллекции люди обычно используют сортировку или LINQ.

DirectoryInfo newest = null;
foreach(string subdirName in Directory.GetDirectory(path))
{
    DirectoryInfo subdirInfo = new DirectoryInfo(subdirName);
    if (newest == null || subdirInfo.CreationTimeUct > newest.CreationTimeUct) 
        newest = subdirInfo;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...