【发布时间】:2015-10-23 19:23:58
【问题描述】:
我有以下功能:
Function IsInArray(ByVal needle As String, haystack() As String) As Boolean
Dim element As Variant
For Each element In haystack
If element = needle Then
IsInArray = True
End If
Next element
IsInArray = False
End Function
我通过这个子程序调用:
Sub CallIsInArray()
Dim haystack(1 To 4) As String
haystack(1) = "T1"
haystack(2) = "T2"
haystack(3) = "T3"
haystack(4) = "T4"
Dim needle As String
needle = "T1" ' Should return True but instead of it return False
' needle = "T1x" ' Return False as expected
Dim result As Boolean
result = IsInArray(needle, haystack)
MsgBox result
End Sub
问题是IsInArray总是返回False,为什么?
【问题讨论】:
-
第一遍是这样,但你继续遍历数组。如果有比赛,你需要爆发。