Hi,
I’m developing is ASP.NET/VB.NET. I’m having problems while searching for an
element in an ArrayList. What I have is:
*firstArray*: it’s an ArrayList; contains strings; each string in this array
will be concatenated with the string in the *MyCheckBoxlist*; its size is
161
*MyCheckBoxList*: its size is 5
secondArray: it’s an ArrayList; contains string; its values are being
retrieve from the Database; its size is 866
What I’m doing is: each element of *firstArray* is concatenated with each
element of *MyCheckBoxList*; then I check if the result of this
concatenation is found in the *secondArray*; if so I remove this element
from *secondArray*.
The problem is: In theory, the result of looping through the two for loops
should delete 161 x 5 = 805 elements from *secondArray* (I checked both
arrays and they are with the correct elements). But what I have in the end
of both loops is a totally different result: only 152 elements are being
deleted from *secondArray*. I’m debugging and there’s a point where
*str*exists in the
*secondArray*, but *secondArray.Contains(str)* is false. Does anyone have
any idea about what is happening? I can’t figure it out!! I appreciate any
help. Thanks in advance for all replies!
Follows my code:
Dim myCount As Integer = 0
For w As Integer = 0 To firstArray.Count - 1
Dim currentStr As String = firstArray.Item(w)
If currentStr.Contains("myString") Then
type = "type1"
Else
type = "type2"
End If
For z As Integer = 0 To MyCheckBoxList.Items.Count - 1
Dim str As String = type + currentStr +
MyCheckBoxList.Items(z).
If secondArray.Contains(str) = True Then
secondArray.Remove(str)
myCount = myCount + 1
End If
Next
Next
Ana