0

所以我刚刚开始学习VB,我想我误解了我一直在关注的教程,因为我无法弄清楚我在这里做错了什么。也许是我想多了?

问题在于以下行,“IndexOutOfRangeException”

If aryTextLine(i) = "True" Then

在此先感谢您的帮助。

Public Function FindTabPos(ByVal low As Integer, ByVal high As Integer)
    If opCounter >= 3 Then

        Dim TextLine As String

        Dim TrueCount As Integer
        TrueCount = 0

        TextLine = ""
        Dim aryTextLine() As String
        If System.IO.File.Exists(configLoc) = True Then

            Dim objReader As New System.IO.StreamReader(configLoc)
            Do While objReader.Peek() <> -1

                TextLine = TextLine & objReader.ReadLine() & vbNewLine

            Loop

            aryTextLine = TextLine.Split(",")

            For i = 0 To UBound(aryTextLine)
                MsgBox(aryTextLine(i))
            Next i

            For i = low To high
                If aryTextLine(i) = "True" Then
                    TrueCount = TrueCount + 1
                End If
            Next i
        End If
        Return TrueCount
    Else
        Return False
    End If
End Function

编辑:我发现了我的问题。它正在读取的文件是一个列表。由于我对“TextLine = TextLine & objReader.ReadLine() & vbNewLine”如何工作的误解,我试图用逗号而不是换行来 .Split()。以下来自本网站上的另一个问题,修复了它。

aryTextLine = TextLine.Split(New String() {Environment.NewLine}, StringSplitOptions.None)
4

0 回答 0