我正在做一个在数组中搜索数据的任务,在这个例子中我有一个值01、02和03的数组。
我所做的是在文本框中放置一个值,并在函数FindKeys中指示该值是否存在于数组中。我不知道我可能错在哪里,因为它只取数组的第一个值,因此它总是打印相同的消息。
这是我的代码。
Dim VectorA() As String = {"01", "02", "03"}
Public Function buscarClaves(ByVal dts As String) As Boolean
'buscarClaves = False
For Each clave As String In VectorA
If clave = dts Then
Return True
Else
Return False
End If
Next
'
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For i As Integer = 1 To VectorA.Length
If buscarClaves(TextBox1.Text) Then
MsgBox("Clave duplicado")
Else
MsgBox("Clave disponible")
End If
Next i
End Sub
Button 事件中的 for 是多余的,因为您有一个 For Each 贯穿函数中的整个数组,这就是它在消息中重复相同值的原因,因为它总是在它通过的三个运行中找到键数组长度。
我对 findKeys() 函数进行了一些更改。如果它找到它返回true的值,否则它只会取你在开始时给它的值,没有必要添加返回false的else。