如何创建一个查询,仅在列表框中显示最新添加的文本文件?

时间:2019-03-27 12:25:36

标签: arrays vb.net linq

我正在尝试创建一个查询,其中列表框中仅显示添加到文本文件的最新预订。

我试图以某种方式选择第一个索引,但是由于我对编码非常陌生,所以无法解决它

Dim strBooking() As String = IO.File.ReadAllLines("food.txt")
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnLatestBooking.Click

    Dim BookingsQuery = From Booking In strBooking
                        Where Booking = (0)
                        Select Booking

    For Each Booking As String In BookingsQuery
        lstLatestBooking.Items.Add(Booking)
    Next
End Sub

运行代码时出现错误 在代码的这一部分:

Where Booking = (0)

出现的错误代码

  

Microsoft.VisualBasic.dll中发生了'System.InvalidCastException'类型的未处理异常

1 个答案:

答案 0 :(得分:0)

如果要访问通过读取文本文件生成的数组的第一行,则完全不需要使用linq。您可以使用strBooking(0)引用数组中的第一个条目:

Dim strBooking() As String = IO.File.ReadAllLines("food.txt")
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnLatestBooking.Click

    If strBooking.Length > 0 Then
        lstLatestBooking.Items.Add(strBooking(0))
    End If       
End Sub

您应该read about arrays

如果要使用linq进行此操作,只需使用.first

If strBooking.Length > 0 Then
    lstLatestBooking.Items.Add(strBooking.First())
End If