2012-02-20 4 views
1

디렉토리에서 가장 최근 파일을로드하려고하는데 다음 코드가 작동하지 않습니다. 끔찍한 일이 명백히 드러나고 있니?!디렉토리의 가장 최근 파일을 찾으십시오.

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

나는 두 오류 메시지 수 :

데이터 유형 (들) 'System.Linq.Enumerable'에 정의 된 확장 메서드의 형식 매개 변수 (들) 'Public Function OrderByDescending(Of TKey)(keySelector As System.Func(Of String, TKey)) As System.Linq.IOrderedEnumerable(Of String)'의 이러한 주장에서 유추 할 수 없습니다. 명시 적으로 데이터 유형을 지정하면이 오류가 정정 될 수 있습니다.

그리고는 :

'LastWriteTime' 'String'의 구성원이 아닙니다.

+1

무엇을 얻고 있습니까? – Magnus

답변

4

Linq 함수는 문자열 대신 FileInfo 개체를 사용할 수 있습니다.

Dim myFile = Directory.GetFiles("C:\Users\Joe\Desktop\XMLLogs").OrderByDescending(Function(f) New FileInfo(f).LastWriteTime).First() 
+1

-1 : OP가이를 수행 할 수 있습니다. 또는 그가 사용하고자하는 메소드 인'DirectoryInfo.GetFiles()'를 간단히 사용할 수 있습니다. @GSerg는 아래에서 말합니다. –

+1

@ JohnSaunders 방금 다른 가능한 대답을 제공하고있었습니다. 그는 답으로 문자열을 사용할지 여부를 지정하지 않습니다. –

관련 문제