索引超出了数组VB的范围

时间:2016-04-26 01:03:13

标签: vb.net

这是我的代码,当我运行它时,索引超出了行b = Asc(y(j + m))中数组的范围。我尝试过Try and Catch,但它没有成功。

Public Function SMITH(x, y, SX, SY)

    Dim a, b, j As Integer
    result = 0
    m = x.Length
    n = y.Length

    preBmBc(x)
    preQsBc(x)

    j = 0
    While (j <= (n - m))
        If (SX = SY.ToString.Substring(j, m)) Then
            result = 1
        End If
        a = Asc(y(j + (m - 1)))
        b = Asc(y(j + m))
        j = j + Math.Max(bmBc(a), qsBc(b))
    End While

    Return result

End Function

1 个答案:

答案 0 :(得分:0)

你有没有尝试为b制作m =“m-1”?您确实需要使用断点和调试器逐步执行代码,以确定程序何时抛出OutOfRangeException。