線形検索を使用して、ユーザーが配列に入力した名前を検索しようとすると、このエラーが発生します。これは、配列を宣言して入力を取得するときです。
Public Const SIZE_ARRAY = 9
Public Sub cmdStart_Click(sender As Object, e As EventArgs) Handles cmdStart.Click
Dim myArray(SIZE_ARRAY) As String
Dim index As Integer
Public Sub cmdStart_Click(sender As Object, e As EventArgs) Handles cmdStart.Click
Dim count As Integer = 0
For Me.index = 0 To SIZE_ARRAY
myArray(index) = InputBox("Enter a name, Enter a name")
count = count + 1
Next
If count = 10 Then
lblInstructions.Visible = False
cmdStart.Visible = False
lblInstructions2.Visible = True
txtSearch.Visible = True
lblOutput.Visible = True
cmdSearch.Visible = True
End If
End Sub
ここで線形検索を使用します。
Public Sub cmdSearch_Click(sender As Object, e As EventArgs) Handles cmdSearch.Click
Dim found As Boolean
Dim name As String
name = txtSearch.Text
found = LinearSearch(myArray, Val(name))
If found Then
lblOutput.Text = name & " was found at cell " & index
Else
lblOutput.Text = name & " was not found"
End If
End Sub
そして、ここに線形検索機能があります
Public Function LinearSearch(ByVal list() As Integer, ByVal searchValue As Integer) As Boolean
Dim found As Boolean = False
Dim index As Integer
While found = False And index <= UBound(list)
If list(index) = searchValue Then
found = True
Else
index += 1
End If
End While
Return found
End Function