2

每次我尝试将任何类型的字符串归因于此时,我都会得到未设置为对象实例的对象引用。我已经尝试了处理字符串的所有可能方式的组合,再次将其转换为字符串以及所有的模糊处理。这非常令人沮丧,我想这是结构/类使用和字符串数组或诸如此类的某种基本原则(这也很愚蠢)

Private Class movie
    Public name As String
    Public actors As String
    Public year As Integer
    Public country As String
    Public votes As Integer

End Class

Private movies() As movie

If File.Exists(OpenFileDialog1.FileName) Then

        lblPath.Text = OpenFileDialog1.FileName
        Dim iFile As New StreamReader(lblPath.Text)

        While Not iFile.EndOfStream

            current = iFile.ReadLine

            movies(i).name = "sasasasa"

            lbMovies.Items.Add(movies(i).name)
            i = i + 1

        End While
    End If

这些是我使用它的代码部分

4

1 回答 1

3

movie如前所述,您正在创建一个空的对象数组。因此movies(i)Nothing。当您尝试访问成员 ( movies(i).name) 时,会生成相应的异常。请注意,您的代码甚至没有到达赋值运算符=,但在此之前失败了。换句话说,这与字符串完全无关。如果你改写,你会得到同样的错误movies(i).votes = 42。要修复您的代码,您首先必须创建一个movie对象,填充它并将其附加到您的数组中。

于 2012-12-09T12:38:59.710 回答