2015-05-12 2 views
1

То, что я пытаюсь сделать, это получить самую старую дату, отсортированную по списку. Я построил метод, как показано ниже, и он не возвращает старую дату в первой позиции. Результат должен быть: самый старый - самый новый.C# Получить старую дату из справочника

private static List<FileInfo> GetOldestSortedFiles(string location) 
{ 
    return new DirectoryInfo(location).GetFiles().OrderByDescending(f => f.CreationTime).ToList(); 
} 

Я что-то не так?

+0

То, что я пытаюсь сделать, это своего рода справочник по старой датой на вершине. – TGarrett

+0

Вы сортируете по дате в порядке убывания, а не по возрасту, поэтому наступит «самая большая» дата (новейшая). –

ответ

6

Вы хотите OrderBy. OrderByDescending будет возвращать новые файлы первым:

private static List<FileInfo> GetOldestSortedFiles(string location) 
{ 
    return new DirectoryInfo(location).GetFiles() 
             .OrderBy(f => f.CreationTime) 
             .ToList(); 
} 
+0

Спасибо! Видимо, работая в течение 32 часов без сна, я перестал смотреть на это. Еще раз спасибо! – TGarrett

+0

@TGarrett Приветствую вас. Получите некоторый сон :) –

+0

@YuvalItzchakov Meleh !!!!! – Eminem

0

вам нужно сортировать по LastAccessTime

private static List<FileInfo> GetOldestSortedFiles(string location) 
{ 
    return new DirectoryInfo(location).GetFiles().OrderBy(f => f.LastAccessTime).ToList(); 
} 
+0

Но он хочет дату создания, а не время доступа. –

+0

он не упоминает. –

+0

* То, что я пытаюсь сделать, это получить самую старую дату **. * –