найти самый последний файл в каталоге - PullRequest
1 голос
/ 21 февраля 2012

Я пытаюсь загрузить самый последний файл из каталога, но мой следующий код не работает. Я получаю что-то очевидное ужасно неправильно?!

Dim myFile = Directory.GetFiles("C:\Users\Joe\Desktop\XML Logs").OrderByDescending(Function(f) f.LastWriteTime).First()

Я получаю два сообщения об ошибке:

Тип (ы) данных параметра (ов) типа в методе расширения 'Public Function OrderByDescending(Of TKey)(keySelector As System.Func(Of String, TKey)) As System.Linq.IOrderedEnumerable(Of String)', определенный в 'System.Linq.Enumerable', не может быть выведен из этих аргументов. Явное указание типа данных может исправить эту ошибку.

И

'LastWriteTime' не является членом 'String'.

Ответы [ 2 ]

4 голосов
/ 06 сентября 2013

Вы можете заставить функцию Linq использовать объекты FileInfo вместо строк.

Dim myFile = Directory.GetFiles("C:\Users\Joe\Desktop\XMLLogs").OrderByDescending(Function(f) New FileInfo(f).LastWriteTime).First()
4 голосов
/ 21 февраля 2012

Directory.GetFiles() возвращает String().

Очевидно, вы имели в виду DirectoryInfo.GetFiles(), который возвращает FileInfo().

...