首页 > 解决方案 > 索引超出数组 VB 2015 的范围

问题描述

我收到此错误消息,它指向这一行

指数数组的边界之外

bookinfo(i).Author = 部分(1)

有人可以帮我理解我做错了什么吗?

谢谢!

   Private Sub JamesProject1_Load(sender As Object, e As EventArgs) Handles 
    MyBase.Load
    Dim parts() As String
    lines = IO.File.ReadAllLines("LibraryDatabase.txt")


    ReDim Preserve bookinfo(lines.Count)

    If Not OpenFileDialog1.ShowDialog() = DialogResult.OK Then
        MessageBox.Show("You must choose a file")
        Me.Close()
    End If

    lines = IO.File.ReadAllLines(OpenFileDialog1.FileName)


    For i = 0 To lines.Count - 1
        parts = lines(i).Split(","c)
        bookinfo(i).Title = parts(0)
        bookinfo(i).Author = parts(1)
        bookinfo(i).ISBN = parts(2)
        bookinfo(i).YearPublished = parts(3)
    Next

    Dim query = From book In bookinfo
                Order By book.Title, book.Author, book.ISBN, book.YearPublished
                Select book.Title, book.Author, book.ISBN, book.YearPublished

    DGVBookInfo.DataSource = query.ToList

    DGVBookInfo.Columns("Title").HeaderText = "Title"
    DGVBookInfo.Columns("Author").HeaderText = "Author"
    DGVBookInfo.Columns("ISBN").HeaderText = "ISBN"
    DGVBookInfo.Columns("Year Published").HeaderText = "Year Published"
    DGVBookInfo.AutoResizeColumns()


    DGVBookInfo.RowHeadersVisible = False



End Sub

标签: vb.net

解决方案


推荐阅读