我正在尝试运行这行代码:
Dim OrderedFiles() As String = Directory.GetFiles(FilePath).OrderBy(x >= x.CreationTime)
我在 x 上收到一个错误,说 x 未声明。
我将我的项目设置为 Option Strict Off 和 Option Infer On。如果我打开 Option Strict,那么我会从项目中得到数千个错误(它是继承的),我没有时间修复所有这些错误,但是 x 不再给我一个错误。我用谷歌搜索,直到我想把我的电脑扔出窗外。
任何有关如何更正此声明的帮助将不胜感激。
编辑:
我希望有一个更优雅的解决方案,但这是我想出的解决这个特殊问题的方法。
Dim fileList() As String = Directory.GetFiles(FilePath)
Dim fileDate(fileList.Length - 1) As DateTime
For i As Integer = 0 To fileList.Length - 1
fileDate(i) = New FileInfo(fileList(i)).CreationTime
Next
Array.Sort(fileDate, fileList)
With EmailTemplates_DropDownList
.DataSource = fileList.Reverse.Take(5)
.DataBind()
End With
它不是特别优雅,但可以完成工作。我希望有一个单线 LINQ 解决方案,但我只是没有 LINQ 的背景,不知道如何完成这项工作,是时候去买一本书了。