1

我一直在为学校编写电影搜索的东西,我遇到了这个问题,我不知道如何解决它。

While Not FilmSearcher.EndOfData         'loop until end of file
    currentRow = FilmSearcher.ReadFields()   'read in the fields of each line
    For j = 0 To 3
        Films(i, j) = currentRow(j)      'put the fields into film array
    Next

    i = i + 1
End While

currentRow = FilmSearcher.ReadFields() 是不起作用的部分

4

3 回答 3

6

如果错误消息在您的标题中,那么我敢打赌您已将 currentRow 声明为

Dim currentRow As String

相反,您需要将其声明为一维数组

Dim currentRow() as String
于 2013-10-04T20:14:13.087 回答
0

您的currentRow变量未正确声明。而不是这个:

Dim currentRow As String

您需要其中之一:

Dim currentRow() As String
Dim currentRow As String()

您选择哪一个是一个偏好问题。他们的意思是一样的。您还可以完全避免该变量:

While Not FilmSearcher.EndOfData        
    'read in the fields of each line and put into film array
    Films(i) = FilmSearcher.ReadFields()          
    i = i + 1
End While
于 2013-10-04T20:15:42.820 回答
0

就我而言,我错误地声明了我的方法以返回一个数组:

Function GetById(ByVal id As Integer) As String

语法应该是:

Function GetById(ByVal id As Integer) As String()

而我可以返回一个字符串数组:

Dim arrayOfStrings() As String
arrayOfStrings = {"John", "Josh", "Jason", "Jill", "Kunta Kinte"}
Return arrayOfStrings
于 2017-04-18T13:19:48.390 回答