【问题标题】:find most recent file in directory在目录中找到最新的文件
【发布时间】:2012-03-11 07:28:28
【问题描述】:

我正在尝试从目录加载最新文件,但我的以下代码不起作用。我有什么明显的严重错误吗?!

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”的成员。

【问题讨论】:

    标签: vb.net getfiles


    【解决方案1】:

    Directory.GetFiles() 返回String()

    显然你的意思是DirectoryInfo.GetFiles(),它返回FileInfo()

    【讨论】:

      【解决方案2】:

      您可以让 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 我只是在提供另一个可能的答案。他没有具体说明他是否想要一个字符串作为答案。
      猜你喜欢
      • 2021-01-12
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 2014-10-28
      • 1970-01-01
      • 2012-09-13
      • 2016-11-22
      • 2014-11-12
      相关资源
      最近更新 更多