Vb.net 在目录中查找最近的文件

Vb.net 在目录中查找最近的文件,vb.net,getfiles,Vb.net,Getfiles,我试图从一个目录加载最近的文件,但是我下面的代码不起作用。我是不是有什么明显的严重错误 Dim myFile = Directory.GetFiles("C:\Users\Joe\Desktop\XML Logs").OrderByDescending(Function(f) f.LastWriteTime).First() 我收到两条错误消息: 无法从这些参数推断扩展方法“System.Linq.Enumerable”中定义的类型参数“Public Function OrderByDesce

我试图从一个目录加载最近的文件,但是我下面的代码不起作用。我是不是有什么明显的严重错误

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.iorderenumerable(of String)
”的数据类型。显式指定数据类型可能会更正此错误

以及:

LastWriteTime
”不是“
String
”的成员

返回
String()


显然,您的意思是返回
FileInfo()

您可以让Linq函数使用FileInfo对象而不是字符串

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

-1:OP可以这样做,或者他可以简单地使用他想要使用的方法,即
DirectoryInfo.GetFiles()
,正如@GSerg在下面所说的那样。@JohnSaunders我只是提供了另一个可能的答案。他没有指定是否需要字符串作为答案。