hey, can someone please tell me why IUse Gap is always returning a "0" please???


Code:
Public Sub Main()
        Dim characterarray() As Char
        characterarray = RandomGen1.ToCharArray() 'this is a functions that gives a random generator of 200 characters
        Dim lUseGap As Long, lUse5th As Long
        lUseGap = FindGap(characterarray)
       
    End Sub

Private Function FindGap(ByVal characterarray() As Char) As Long
        Dim gap As Long
        Dim vowelcounter, i As Integer
        Dim vowelstring As String = "AEIOU"
        For i = characterarray.Length - 1 To 0
            If vowelstring.Contains(characterarray(i).ToString.ToUpper()) Then
                vowelcounter += 1
                If vowelcounter = 3 Then

                    'letter5vowel = characterarray(i)
                    Dim indexLast3 As Integer = RandomGen2.IndexOf(characterarray(i))

                    gap = (characterarray.Length - 1) - CInt(Val(RandomGen2(indexLast3)))
                    'Chr(AscW(chargap)) = Asc(gap)
                    MessageBox.Show(characterarray(i).ToString())

                End If
                Exit For
            End If

        Next
        FindGap = gap
        Return FindGap
    End Function